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
Fast inspection of binary buffers to guess/determine the encoding
Crate
v0.2.4
2018-11-04
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
github.com
## Summary [summary]: #summary Allow attributes in formal function parameter position. For example, consider a Jax-Rs-style HTTP API: ```rust #[resource(path = "/foo/bar")] impl MyResource { #[get("/person/:name")] fn get_person( &self, #[p...
RFC 2565
RFC
2018-10-14
~11 min read
github.com
## Summary [summary]: #summary Many of the benefits of linked lists rely on the fact that most operations (insert, remove, split, splice etc.) can be performed in constant time once one reaches the desired element. To take advantage of this...
RFC 2570
RFC
2018-10-14
~9 min read
github.com
## Summary [summary]: #summary This RFC allows using SIMD types in C FFI. ## Motivation [motivation]: #motivation The architecture-specific SIMD types provided in [`core::arch`] cannot currently be used in C FFI. That is, Rust programs cann...
RFC 2574
RFC
2018-10-12
~5 min read
github.com
## Summary [summary]: #summary Adds a *"Future possibilities"* section to the `0000-template.md` RFC template that asks authors to elaborate on what natural extensions there might to their RFC and what future directions this may take the pr...
RFC 2561
RFC
2018-10-11
~5 min read
github.com
## Summary [summary]: #summary Extend Rust's pattern matching exhaustiveness checks to cover the integer types: `u8`, `u16`, `u32`, `u64`, `u128`, `usize`, `i8`, `i16`, `i32`, `i64`, `i128`, `isize` and `char`. ```rust fn matcher_full(x: u8...
RFC 2591
RFC
2018-10-11
~3 min read
github.com
A collection of non-cryptographic hashing algorithms for Rust
Crate
v1.0.1
2018-10-10
github.com
Discard trait which allows for intentionally leaking memory
Crate
v1.0.4
2018-09-17
github.com
## Summary [summary]: #summary Change `cfg_attr` to allow multiple attributes after the configuration predicate, instead of just one. When the configuration predicate is true, replace the attribute with all following attributes. ## Motivati...
RFC 2539
RFC
2018-09-10
~4 min read
github.com
## Summary [summary]: #summary Allow `|` to be arbitrarily nested within a pattern such that `Some(A(0) | B(1 | 2))` becomes a valid pattern. ## Motivation [motivation]: #motivation Nothing this RFC proposes adds anything with respect to ex...
RFC 2535
RFC
2018-08-29
~19 min read
github.com
## Summary [summary]: #summary [RFC 192]: https://github.com/rust-lang/rfcs/blob/master/text/0195-associated-items.md#defaults [Resolve][changes] the design of associated type defaults, first introduced in [RFC 192], such that provided meth...
RFC 2532
RFC
2018-08-27
~39 min read
github.com
## Summary [summary]: #summary Extend struct update syntax (a.k.a. functional record update (FRU)) to support instances of the *same* struct that have different types due to generic type or lifetime parameters. Fields of different types mus...
RFC 2528
RFC
2018-08-22
~8 min read
github.com
## Summary [summary]: #summary Allow assigning constants to `_`, as in `const _: TYPE = VALUE`, analogous to `let _ = VALUE`. ## Motivation [motivation]: #motivation The ability to ensure that code type checks while discarding the result is...
RFC 2526
RFC
2018-08-18
~3 min read