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
## 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
github.com
## Summary [summary]: #summary Permit users to `#[cfg(..)]` on whether: + they have a certain minimum Rust version (`#[cfg(version(1.27.0))]`). + a certain external path is accessible (`#[cfg(accessible(::std::mem::ManuallyDrop))]`). ## Mot...
RFC 2523
RFC
2018-08-12
~26 min read
github.com
## Summary [summary]: #summary Unions do not allow fields of types that require drop glue (the code that is automatically run when a variables goes out of scope: recursively dropping the variable and all its fields), but they may still `imp...
RFC 2514
RFC
2018-08-03
~13 min read
github.com
## Summary [summary]: #summary Allow type aliases and associated types to use `impl Trait`, replacing the prototype `existential type` as a way to declare type aliases and associated types for opaque, uniquely inferred types. ## Motivation...
RFC 2515
RFC
2018-08-03
~15 min read
github.com
## Summary [summary]: #summary Unify `std::os::raw::c_void` and `libc::c_void` by making them both re-exports of a definition in libcore. ## Motivation [motivation]: #motivation `std::os::raw::c_void` and `libc::c_void` are different types:...
RFC 2521
RFC
2018-08-02
~5 min read
github.com
## Summary [summary]: #summary Add a macro `concat_bytes!()` to join byte sequences onto an `u8` array, the same way `concat!()` currently supports for `str` literals. ## Motivation [motivation]: #motivation `concat!()` is convenient and us...
RFC 2509
RFC
2018-07-31
~1 min read
github.com
## Summary [summary]: #summary Change the `std::error::Error` trait to improve its usability. Introduce a backtrace module to the standard library to provide a standard interface for backtraces. ## Motivation [motivation]: #motivation The `...
RFC 2504
RFC
2018-07-18
~7 min read
github.com
## Summary [summary]: #summary Extends `if let` and `while let`-expressions with chaining, allowing you to combine multiple `let`s and `bool`-typed conditions together naturally. After implementing this RFC, you'll be able to write, among o...
RFC 2497
RFC
2018-07-13
~57 min read
github.com
## This RFC was previously approved, but later **withdrawn** For details see the [summary comment]. [summary comment]: https://github.com/rust-lang/rust/pull/76901#issuecomment-880169952 ## Summary [summary]: #summary Generalize the needle...
RFC 2500
RFC
2018-07-06
~41 min read
github.com
## Summary [summary]: #summary Add `rust` field to the package section of `Cargo.toml` which will be used to specify crate's Minimum Supported Rust Version (MSRV): ```toml [package] name = "foo" version = "0.1.0" rust = "1.30" ``` ## Motiva...
RFC 2495
RFC
2018-06-28
~5 min read
github.com
## Summary [summary]: #summary Release Clippy 1.0, in preparation for it being shipped via rustup and eventually available via Rust Stable. ## Motivation [motivation]: #motivation See also: [The Future of Clippy][future] Clippy, the linter...
RFC 2476
RFC
2018-06-14
~30 min read