github.com
## 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...
RFC 2027
RFC
2017-06-10
~3 min read
github.com
## 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...
RFC 2057
RFC
2017-06-09
~2 min read
github.com
## 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...
RFC 2025
RFC
2017-06-06
~28 min read
github.com
## 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...
RFC 2008
RFC
2017-05-24
~12 min read
github.com
## 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...
RFC 2011
RFC
2017-05-24
~3 min read
github.com
## 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...
RFC 2000
RFC
2017-05-01
~11 min read
github.com
## 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...
RFC 1983
RFC
2017-04-26
~1 min read
github.com
## 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...
RFC 1990
RFC
2017-04-26
~7 min read
github.com
## 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...
RFC 1985
RFC
2017-04-25
~8 min read
github.com
## 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...
RFC 1977
RFC
2017-04-03
~16 min read
github.com
## 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...
RFC 1961
RFC
2017-03-26
~2 min read
github.com
## 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...
RFC 1969
RFC
2017-03-22
~13 min read
github.com
## 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...
RFC 1951
RFC
2017-03-12
~31 min read
github.com
## 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...
RFC 1946
RFC
2017-03-06
~14 min read
github.com
## 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 |...
RFC 1925
RFC
2017-02-23
~4 min read
github.com
## Summary [summary]: #summary Allow the `?` operator to be used in `main`, and in `#[test]` functions and doctests. To make this possible, the return type of these functions are generalized from `()` to a new trait, provisionally called `T...
RFC 1937
RFC
2017-02-22
~21 min read
github.com
## Summary [summary]: #summary Allow for local variables, function arguments, and some expressions to have an unsized type, and implement it by storing the temporaries in variably-sized allocas. Have repeat expressions with a length that ca...
RFC 1909
RFC
2017-02-11
~7 min read
github.com
## Summary [summary]: #summary Deprecate `mem::uninitialized::<T>` and `mem::zeroed::<T>` and replace them with a `MaybeUninit<T>` type for safer and more principled handling of uninitialized data. ## Motivation [motivation]: #motivation Th...
RFC 1892
RFC
2017-02-09
~8 min read
github.com
## Summary [summary]: #summary Overhaul the global allocator APIs to put them on a path to stabilization, and switch the default allocator to the system allocator when the feature stabilizes. This RFC is a refinement of the previous [RFC 11...
RFC 1974
RFC
2017-02-04
~6 min read
github.com
## Summary [summary]: #summary Add an unstable sort to libcore. ## Motivation [motivation]: #motivation At the moment, the only sort function we have in libstd is `slice::sort`. It is stable, allocates additional memory, and is unavailable...
RFC 1884
RFC
2017-02-03
~5 min read