Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
github.com
## Summary Remove the `tuple_indexing`, `if_let`, and `while_let` feature gates and add them to the language. ## Motivation ### Tuple Indexing This feature has proven to be quite useful for tuples and struct variants, and it allows for the...
RFC 450 RFC 2014-12-02 ~1 min read
github.com
## Summary Disallow type/lifetime parameter shadowing. ## Motivation Today we allow type and lifetime parameters to be shadowed. This is a common source of bugs as well as confusing errors. An example of such a confusing case is: ```rust st...
RFC 459 RFC 2014-11-29 ~1 min read
github.com
## Summary Change the syntax for dynamically sized type parameters from `Sized? T` to `T: ?Sized`, and change the syntax for traits for dynamically sized types to `trait Foo for ?Sized`. Extend this new syntax to work with `where` clauses....
RFC 490 RFC 2014-11-29 ~5 min read
github.com
## Summary Move the `std::ascii::Ascii` type and related traits to a new Cargo package on crates.io, and instead expose its functionality for `u8`, `[u8]`, `char`, and `str` types. ## Motivation The `std::ascii::Ascii` type is a `u8` wrappe...
RFC 486 RFC 2014-11-27 ~3 min read
github.com
## Summary This RFC proposes several new *generic conversion* traits. The motivation is to remove the need for ad hoc conversion traits (like `FromStr`, `AsSlice`, `ToSocketAddr`, `FromError`) whose *sole role* is for generics bounds. Aside...
RFC 529 RFC 2014-11-21 ~12 min read
github.com
## Summary Change the precedence of `+` (object bounds) in type grammar so that it is similar to the precedence in the expression grammars. ## Motivation Currently `+` in types has a much higher precedence than it does in expressions. This...
RFC 438 RFC 2014-11-18 ~1 min read
github.com
## Summary Move `box` patterns behind a feature gate. ## Motivation A recent RFC (https://github.com/rust-lang/rfcs/pull/462) proposed renaming `box` patterns to `deref`. The discussion that followed indicates that while the language commun...
RFC 469 RFC 2014-11-17 ~1 min read
github.com
## Summary Stabilize the `std::fmt` module, in addition to the related macros and formatting language syntax. As a high-level summary: * Leave the format syntax as-is. * Remove a number of superfluous formatting traits (renaming a few in th...
RFC 380 RFC 2014-11-12 ~14 min read
github.com
## Summary This RFC reforms the design of the `std::path` module in preparation for API stabilization. The path API must deal with many competing demands, and the current design handles many of them, but suffers from some significant proble...
RFC 474 RFC 2014-11-12 ~13 min read
github.com
## Summary Introduce a new thread local storage module to the standard library, `std::tls`, providing: * Scoped TLS, a non-owning variant of TLS for any value. * Owning TLS, an owning, dynamically initialized, dynamically destructed variant...
RFC 461 RFC 2014-11-11 ~12 min read
github.com
## Summary I propose altering the `Send` trait as proposed by RFC #17 as follows: * Remove the implicit `'static` bound from `Send`. * Make `&T` `Send` if and only if `T` is `Sync`. ```rust impl<'a, T> !Send for &'a T {} unsafe impl<'a, T>...
RFC 458 RFC 2014-11-10 ~9 min read
github.com
## Summary Disallow unconstrained type parameters from impls. In practice this means that every type parameter must either: 1. appear in the trait reference of the impl, if any; 2. appear in the self type of the impl; or, 3. be bound as an...
RFC 447 RFC 2014-11-06 ~4 min read
github.com
## Summary This is a conventions RFC establishing a definition and naming convention for *extension traits*: `FooExt`. ## Motivation This RFC is part of the ongoing API conventions and stabilization effort. Extension traits are a programmin...
RFC 445 RFC 2014-11-05 ~4 min read
github.com
## Summary Remove `\u203D` and `\U0001F4A9` unicode string escapes, and add [ECMAScript 6-style](https://mathiasbynens.be/notes/javascript-escapes#unicode-code-point) `\u{1F4A9}` escapes instead. ## Motivation The syntax of `\u` followed by...
RFC 446 RFC 2014-11-05 ~1 min read
github.com
## Summary Various enhancements to macros ahead of their standardization in 1.0. **Note**: This is not the final Rust macro system design for all time. Rather, it addresses the largest usability problems within the limited time frame for 1....
RFC 453 RFC 2014-11-05 ~8 min read
github.com
## Summary This RFC proposes a number of design improvements to the `cmp` and `ops` modules in preparation for 1.0. The impetus for these improvements, besides the need for stabilization, is that we've added several important language featu...
RFC 439 RFC 2014-11-03 ~12 min read
github.com
## Summary This conventions RFC tweaks and finalizes a few long-running de facto conventions, including capitalization/underscores, and the role of the `unwrap` method. See [this RFC](https://github.com/rust-lang/rfcs/pull/328) for a compet...
RFC 430 RFC 2014-11-02 ~2 min read
github.com
## Summary When the compiler generates a dynamic library, alter the default behavior to favor linking all dependencies statically rather than maximizing the number of dynamic libraries. This behavior can be disabled with the existing `-C pr...
RFC 404 RFC 2014-11-01 ~5 min read
github.com
## Summary This is a *conventions* RFC for formalizing the basic conventions around error handling in Rust libraries. The high-level overview is: * For *catastrophic errors*, abort the process or fail the task depending on whether any recov...
RFC 236 RFC 2014-10-30 ~7 min read
github.com
## Summary Describe the various kinds of type conversions available in Rust and suggest some tweaks. Provide a mechanism for smart pointers to be part of the DST coercion system. Reform coercions from functions to closures. The `transmute`...
RFC 401 RFC 2014-10-30 ~15 min read
"in Rust we pay the price of composition up-front"

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, research, crates, and Rust API documentation. 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.
Put ! first to open the top result immediately. Quote the whole query for a literal leading bang, as in '!Send'. Bangs elsewhere, such as println!, stay literal. Browser and launcher shortcuts can invoke this directly. See search integrations.
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.