Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
## Summary Feature gate unused attributes for backwards compatibility. ## Motivation Interpreting the current backwards compatibility rules strictly, it's not possible to add any further language features that use new attributes. For exampl...
github.com RFC 572 RFC 2015-01-11 ~2 min read
## Summary A [recent RFC](https://github.com/rust-lang/rfcs/pull/504) split what was previously `fmt::Show` into two traits, `fmt::Show` and `fmt::String`, with format specifiers `{:?}` and `{}` respectively. That RFC did not, however, esta...
github.com RFC 565 RFC 2015-01-08 ~5 min read
## Summary Remove official support for the `ndebug` config variable, replace the current usage of it with a more appropriate `debug_assertions` compiler-provided config variable. ## Motivation The usage of 'ndebug' to indicate a release bui...
github.com RFC 563 RFC 2015-01-08 ~1 min read
## Summary Remove chaining of comparison operators (e.g. `a == b == c`) from the syntax. Instead, require extra parentheses (`(a == b) == c`). ## Motivation ```rust fn f(a: bool, b: bool, c: bool) -> bool { a == b == c } ``` This code is cu...
github.com RFC 558 RFC 2015-01-07 ~2 min read
## Summary Establish a convention throughout the core libraries for unsafe functions constructing references out of raw pointers. The goal is to improve usability while promoting awareness of possible pitfalls with inferred lifetimes. ## Mo...
github.com RFC 556 RFC 2015-01-06 ~3 min read
## Summary Change pattern matching on an `&mut T` to `&mut <pat>`, away from its current `&<pat>` syntax. ## Motivation Pattern matching mirrors construction for almost all types, *except* `&mut`, which is constructed with `&mut <expr>` but...
github.com RFC 179 RFC 2015-01-04 ~2 min read
## Summary 1. Remove the `Sized` default for the implicitly declared `Self` parameter on traits. 2. Make it "object unsafe" for a trait to inherit from `Sized`. ## Motivation The primary motivation is to enable a trait object `SomeTrait` to...
github.com RFC 546 RFC 2015-01-03 ~3 min read
## Summary * Remove the `std::c_vec` module * Move `std::c_str` under a new `std::ffi` module, not exporting the `c_str` module. * Focus `CString` on *Rust-owned* bytes, providing a static assertion that a pile of bytes has no interior nuls...
github.com RFC 494 RFC 2015-01-02 ~7 min read
## Summary Rename the `#[deriving(Foo)]` syntax extension to `#[derive(Foo)]`. ## Motivation Unlike our other verb-based attribute names, "deriving" stands alone as a present participle. By convention our attributes prefer "warn" rather tha...
github.com RFC 534 RFC 2014-12-31 ~1 min read
## Summary Statically enforce that the `std::fmt` module can only create valid UTF-8 data by removing the arbitrary `write` method in favor of a `write_str` method. ## Motivation Today it is conventionally true that the output from macros l...
github.com RFC 526 RFC 2014-12-30 ~3 min read
## Summary This RFC proposes that we rename the pointer-sized integer types `int/uint`, so as to avoid misconceptions and misuses. After extensive community discussions and several revisions of this RFC, the finally chosen names are `isize/...
github.com RFC 544 RFC 2014-12-28 ~12 min read
## Summary Future-proof the allowed forms that input to an MBE can take by requiring certain delimiters following NTs in a matcher. In the future, it will be possible to lift these restrictions backwards compatibly if desired. ## Key Termin...
github.com RFC 550 RFC 2014-12-21 ~21 min read
## Summary Stabilize the `std::prelude` module by removing some of the less commonly used functionality of it. ## Motivation The prelude of the standard library is included into all Rust programs by default, and is consequently quite an imp...
github.com RFC 503 RFC 2014-12-20 ~12 min read
## Summary - Use inference to determine the *variance* of input type parameters. - Make it an error to have unconstrained type/lifetime parameters. - Revamp the variance markers to make them more intuitive and less numerous. In fact, there...
github.com RFC 738 RFC 2014-12-19 ~17 min read
## Summary In order to prepare for an expected future implementation of [non-zeroing dynamic drop], remove support for: * moving individual elements into an *uninitialized* fixed-sized array, and * moving individual elements out of fixed-si...
github.com RFC 533 RFC 2014-12-19 ~2 min read
## Summary This RFC proposes the `mod` keyword used to refer the immediate parent namespace in `use` items (`use a::b::{mod, c}`) to be changed to `self`. ## Motivation While this looks fine: ````rust use a::b::{mod, c}; pub mod a { pub mod...
github.com RFC 532 RFC 2014-12-19 ~1 min read
## Summary Today's `Show` trait will be tasked with the purpose of providing the ability to inspect the representation of implementors of the trait. A new trait, `String`, will be introduced to the `std::fmt` module to in order to represent...
github.com RFC 504 RFC 2014-12-19 ~7 min read
## Summary According to current documents, the RFC process is required to make "substantial" changes to the Rust distribution. It is currently lightweight, but lacks a definition for the Rust distribution. This RFC aims to amend the process...
github.com RFC 531 RFC 2014-12-18 ~1 min read
## Summary This RFC shores up the finer details of collections reform. In particular, where the [previous RFC][part1] focused on general conventions and patterns, this RFC focuses on specific APIs. It also patches up any errors that were fo...
github.com RFC 509 RFC 2014-12-18 ~11 min read
## Summary Allow `Self` type to be used in impls. ## Motivation Allows macros which operate on methods to do more, more easily without having to rebuild the concrete self type. Macros could use the literal self type like programmers do, but...
github.com RFC 522 RFC 2014-12-13 ~1 min read
"You don't declare lifetimes. Lifetimes come from the shape of your code, so to change what the lifetimes are, you must change the shape of the code."

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, and research. These operators give you finer control — click an example to try it.

Find pages containing all your words. Pages where the words appear together rank higher.
Quote part of your query to keep those words together as an exact phrase within a larger search.
Wrap the whole query in quotes for a verbatim search that matches text exactly, punctuation and all — perfect for Rust syntax. Needs at least 3 characters.
Limit results to a single site. Works on its own () too. One site: per search.

Use the tabs and filters above the results to narrow by content type, publication year, and sort order.