github.com
## Summary [summary]: #summary * To create a "project group" with the purpose of designing subsequent RFCs to extend the language to support unwinding that crosses FFI boundaries * The "project group" term is newly introduced: it is a speci...
RFC 2797
RFC
2019-10-27
~6 min read
github.com
## Summary [summary]: #summary Selective download of the crates-io index over HTTP, similar to a solution used by Ruby's Bundler. Changes transport from an ahead-of-time Git clone to HTTP fetch as-needed. The existing structure and content...
RFC 2789
RFC
2019-10-18
~10 min read
github.com
## Summary [summary]: #summary Add support for lazy initialized values to standard library, effectively superseding the popular [`lazy_static`] crate. ```rust use std::sync::Lazy; // `BACKTRACE` implements `Deref<Target = Option<String>>` a...
RFC 2788
RFC
2019-10-17
~12 min read
github.com
## Summary [summary]: #summary This RFC codifies the requirements for each target tier, and for moving targets to a different tier. ## Motivation [motivation]: #motivation Rust developers regularly implement new targets in the Rust compiler...
RFC 2803
RFC
2019-09-20
~37 min read
github.com
## Summary [summary]: #summary Add a cargo setting to fetch registry authentication tokens by calling an external process. ## Motivation [motivation]: #motivation Some interactions with a registry require an authentication token, and Cargo...
RFC 2730
RFC
2019-07-22
~5 min read
github.com
## Summary [summary]: #summary Make `..` a pattern rather than a syntactic fragment of some other patterns. ## Motivation [motivation]: #motivation The change simplifies pattern grammar and simplifies use of `..` in macros. In particular, t...
RFC 2707
RFC
2019-06-01
~2 min read
github.com
## Summary [summary]: #summary Add the relevant associated constants to the numeric types in the standard library, and consider a timeline for the deprecation of the corresponding (and originally intended to be temporary) primitive numeric...
RFC 2700
RFC
2019-05-13
~9 min read
github.com
## Summary [summary]: #summary Add two new methods to `std::fmt::DebugMap` for writing the key and value part of a map entry separately: ```rust impl<'a, 'b: 'a> DebugMap<'a, 'b> { pub fn key(&mut self, key: &dyn Debug) -> &mut Self; pub fn...
RFC 2696
RFC
2019-05-01
~6 min read
github.com
## Summary [summary]: #summary Introduce an intermediate level of member for the compiler team, the **compiler team contributor**. ## Motivation [motivation]: #motivation This proposal is part of a larger effort to introduce more structure...
RFC 2689
RFC
2019-04-18
~13 min read
github.com
## Summary [summary]: #summary The proposed change to Cargo is to add the ability to specify user-defined profiles in addition to the five predefined profiles, `dev`, `release`, `test`, `bench`. It is also desired in this scope to reduce co...
RFC 2678
RFC
2019-04-04
~8 min read
github.com
## Summary [summary]: #summary We introduce a new ABI string, `"C-unwind"`, to enable unwinding from other languages (such as C++) into Rust frames and from Rust into other languages. Additionally, we define the behavior for a limited numbe...
RFC 2945
RFC
2019-04-03
~17 min read
github.com
# 2019 Roadmap - Feature Name: N/A - Start Date: 2019-03-07 - RFC PR: [rust-lang/rfcs#2657](https://github.com/rust-lang/rfcs/pull/2657) - Rust Issue: N/A ## Summary [summary]: #summary This RFC proposes the *2019 Rust Roadmap*, in accordan...
RFC 2657
RFC
2019-03-30
~12 min read
github.com
## Summary [summary]: #summary Add scoped threads to the standard library that allow one to spawn threads borrowing variables from the parent thread. Example: ```rust let var = String::from("foo"); thread::scope(|s| { s.spawn(|_| println!("...
RFC 3151
RFC
2019-02-26
~6 min read
github.com
## Summary [summary]: #summary Allow `#[repr(transparent)]` on `union`s and univariant `enum`s that have exactly one non-zero-sized field (just like `struct`s). ## Motivation [motivation]: #motivation Some `union` types are thin newtype-sty...
RFC 2645
RFC
2019-02-13
~8 min read
github.com
## Summary [summary]: #summary Extend the `#[link]` attribute by adding a new kind `kind="raw-dylib"` for use on Windows which emits idata sections for the items in the attached `extern` block, so they may be linked against without linking...
RFC 2627
RFC
2019-01-22
~5 min read
github.com
## Summary [summary]: #summary This RFC proposes a new mangling scheme that describes what the symbol names generated by the Rust compiler look like. This new scheme has a number of advantages over the existing one which has grown over time...
RFC 2603
RFC
2018-11-27
~34 min read
github.com
## Summary [summary]: #summary This RFC proposes to stabilize the library component for the [first-class `async`/`await` syntax][companion RFC]. In particular, it would stabilize: - All APIs of the `std`-level task system, i.e. `std::task::...
RFC 2592
RFC
2018-11-09
~22 min read
github.com
## Summary [summary]: #summary No longer treat the body of an `unsafe fn` as being an `unsafe` block. To avoid a breaking change, this is a warning now and may become an error in a future edition. ## Motivation [motivation]: #motivation Mar...
RFC 2585
RFC
2018-11-04
~7 min read
github.com
## Summary [summary]: #summary Introduce new variants of the `&` operator: `&raw mut <place>` to create a `*mut <T>`, and `&raw const <place>` to create a `*const <T>`. This creates a raw pointer directly, as opposed to the already existing...
RFC 2582
RFC
2018-11-01
~11 min read
github.com
## Summary [summary]: #summary Add generic APIs that allow manipulating the metadata of fat pointers: * Naming the metadata’s type (as an associated type) * Extracting metadata from a pointer * Reconstructing a pointer from a data pointer a...
RFC 2580
RFC
2018-10-26
~10 min read