## Motivation and Summary [summary]: #summary While architectures like `x86_64` or `ARMv8` define the lowest-common denominator of instructions that all CPUs must support, many CPUs extend these with vector ([AVX](https://en.wikipedia.org/w...
## Summary [summary]: #summary Allow a `break` of labelled blocks with no loop, which can carry a value. ## Motivation [motivation]: #motivation In its simplest form, this allows you to terminate a block early, the same way that `return` al...
## Summary [summary]: #summary Rust's ecosystem, tooling, documentation, and compiler are constantly improving. To make it easier to follow development, and to provide a clear, coherent "rallying point" for this work, this RFC proposes that...
## Summary [summary]: #summary Add an intrinsic (`fn align_offset(ptr: *const (), align: usize) -> usize`) which returns the number of bytes that need to be skipped in order to correctly align the pointer `ptr` to `align`. The intrinsic is...
## Summary [summary]: #summary This is an **experimental RFC** for adding a new feature to the language, coroutines (also commonly referred to as generators). This RFC is intended to be relatively lightweight and bikeshed free as it will be...
## Summary [summary]: #summary Tweak the object safety rules to allow using trait object types for static dispatch, even when the trait would not be safe to instantiate as an object. ## Motivation [motivation]: #motivation Because Rust feat...
## Summary [summary]: #summary Add dedicated methods to RefCell for replacing and swapping the contents. These functions will panic if the RefCell is currently borrowed, but will otherwise behave exactly like their cousins on Cell. ## Motiv...
## Summary [summary]: #summary Enable "nested method calls" where the outer call is an `&mut self` borrow, such as `vec.push(vec.len())` (where `vec: Vec<usize>`). This is done by extending MIR with the concept of a **two-phase borrow**; in...
## Summary This RFC introduces the `#[non_exhaustive]` attribute for enums and structs, which indicates that more variants/fields may be added to an enum/struct in the future. Adding this hint to enums will force downstream crates to add a...
## Summary [summary]: #summary Make the `assert!` macro recognize more expressions (utilizing the power of procedural macros), and extend the readability of debug dumps. ## Motivation [motivation]: #motivation While clippy warns about `asse...
## Summary [summary]: #summary Allow types to be generic over constant values; among other things this will allow users to write impls which are abstract over all array types. ## Motivation [motivation]: #motivation Rust currently has one t...
## Summary [summary]: #summary Amend [RFC 1242] to require an RFC for deprecation of crates from the rust-lang-nursery. [RFC 1242]: https://github.com/rust-lang/rfcs/blob/master/text/1242-rust-lang-crates.md ## Motivation [motivation]: #mot...
## Summary [summary]: #summary Documentation is an important part of any project, it allows developers to explain how to use items within a library as well as communicate the intent of how to use it through examples. Rust has long champione...
## Summary [summary]: #summary Official web content produced by the Rust teams for consumption by Rust users should work in the majority of browsers that Rust users are visiting these sites in. The Rust compiler only supports [a finite numb...
## Summary [summary]: #summary Introduce a public/private distinction to crate dependencies. ## Motivation [motivation]: #motivation The crates ecosystem has greatly expanded since Rust 1.0. With that, a few patterns for dependencies have e...
## Summary [summary]: #summary Add functions to the language which take a value and an inclusive range, and will "clamp" the input to the range. I.E. ```Rust if input > max { return max; } else if input < min { return min; } else { return i...
## Summary [summary]: #summary This RFC proposes the concept of *patching sources* for Cargo. Sources can be have their existing versions of crates replaced with different copies, and sources can also have "prepublished" crates by adding ve...
## Summary [summary]: #summary This RFC proposes several steps forward for `impl Trait`: - Settling on a particular syntax design, resolving questions around the `some`/`any` proposal and others. - Resolving questions around which type and...
## Summary [summary]: #summary Add a notation how to create relative links in documentation comments (based on Rust item paths) and extend Rustdoc to automatically turn this into working links. ## Motivation [motivation]: #motivation It is...
## Summary [summary]: #summary This is a proposal for the rust grammar to support a vert `|` at the beginning of the pattern. Consider the following example: ```rust use E::*; enum E { A, B, C, D } // This is valid Rust match foo { A | B |...