github.com
## Summary [summary]: #summary Formally define the enum `#[repr(u32, i8, etc..)]` and `#[repr(C)]` attributes to force a non-C-like enum to have a defined layouts. This serves two purposes: allowing low-level Rust code to independently init...
RFC 2195
RFC
2017-10-30
~13 min read
github.com
## Summary [summary]: #summary Relaxes the rules for repeat expressions, `[x; N]` such that `x` may also be `const` *(strictly speaking rvalue promotable)*, in addition to `typeof(x): Copy`. The result of `[x; N]` where `x` is `const` is it...
RFC 2203
RFC
2017-10-20
~4 min read
github.com
## Summary [summary]: #summary [`if let`]: https://github.com/rust-lang/rfcs/pull/160 [`while let`]: https://github.com/rust-lang/rfcs/pull/214 Enables "or" patterns for [`if let`] and [`while let`] expressions as well as `let` and `for` st...
RFC 2175
RFC
2017-10-16
~7 min read
github.com
Color creation and manipulation
Crate
v1.0.1
2017-10-15
github.com
## Summary [summary]: #summary This RFC proposes the addition of a modulo method with more useful and mathematically regular properties over the built-in remainder `%` operator when the dividend or divisor is negative, along with the associ...
RFC 2169
RFC
2017-10-09
~4 min read
github.com
## Summary [summary]: #summary The `use …::{… as …}` syntax can now accept `_` as alias to a trait to only import the implementations of such a trait. ## Motivation [motivation]: #motivation Sometimes, we might need to `use` a trait to be a...
RFC 2166
RFC
2017-10-01
~2 min read
github.com
Moved to [2071-impl-trait-existential-types.md](2071-impl-trait-existential-types.md).
RFC 2071
RFC
2017-09-18
~1 min read
github.com
Cancelable non-blocking polling threads (with optional timeouts).
Crate
v0.1.0
2017-09-16
github.com
## Summary [summary]: #summary Add a raw identifier format `r#ident`, so crates written in future language editions/versions can still use an older API that overlaps with new keywords. ## Motivation [motivation]: #motivation One of the prim...
RFC 2151
RFC
2017-09-14
~5 min read
github.com
## Summary [summary]: #summary Type privacy rules are documented. Private-in-public errors are relaxed and turned into lints. ## Motivation [motivation]: #motivation Type privacy is implemented, but its rules still need to be documentated a...
RFC 2145
RFC
2017-09-09
~15 min read
github.com
## Summary [summary]: #summary This RFC proposes the addition of the support for alternative crates.io servers to be used alongside the public crates.io server. This would allow users to publish crates to their own private instance of crate...
RFC 2141
RFC
2017-09-06
~13 min read
github.com
## Summary [summary]: #summary This **experimental RFC** lays out a high-level plan for improving Cargo's ability to integrate with other build systems and environments. As an experimental RFC, it opens the door to landing [unstable feature...
RFC 2136
RFC
2017-09-01
~20 min read
github.com
## Summary [summary]: #summary Add compiler-generated `Clone` implementations for tuples and arrays with `Clone` elements of all lengths. ## Motivation [motivation]: #motivation Currently, the `Clone` trait for arrays and tuples is implemen...
RFC 2133
RFC
2017-08-28
~5 min read
github.com
## Summary [summary]: #summary Implement `Clone` and `Copy` for closures where possible: ```rust // Many closures can now be passed by-value to multiple functions: fn call<F: FnOnce()>(f: F) { f() } let hello = || println!("Hello, world!");...
RFC 2132
RFC
2017-08-27
~4 min read
github.com
## Summary [summary]: #summary Permit nested `{}` groups in imports. Permit `*` in `{}` groups in imports. ```rust use syntax::{ tokenstream::TokenTree, // >1 segments ext::base::{ExtCtxt, MacResult, DummyResult, MacEager}, // nested braces...
RFC 2128
RFC
2017-08-25
~3 min read
github.com
## This RFC was previously approved, but part of it later **withdrawn** The `crate` visibility specifier was previously implemented, but later removed. For details see the [summary comment]. [summary comment]: https://github.com/rust-lang/r...
RFC 2126
RFC
2017-08-24
~21 min read
github.com
## Summary [summary]: #summary Add the method `Option::filter<P>(self, predicate: P) -> Self` to the standard library. This method makes it possible to easily throw away a `Some` value depending on a given predicate. The call `opt.filter(p)...
RFC 2124
RFC
2017-08-21
~4 min read
github.com
## Summary [summary]: #summary Support defining C-compatible variadic functions in Rust, via new intrinsics. Rust currently supports declaring external variadic functions and calling them from unsafe code, but does not support writing such...
RFC 2137
RFC
2017-08-21
~8 min read
github.com
## Summary [summary]: #summary Add minimal support for fallible allocations to the standard collection APIs. This is done in two ways: * For users with unwinding, an `oom=panic` configuration is added to make global allocators panic on oom....
RFC 2116
RFC
2017-08-18
~24 min read
github.com
## Summary [summary]: #summary Introduce a new `dyn Trait` syntax for trait objects using a contextual `dyn` keyword, and deprecate "bare trait" syntax for trait objects. In a future edition, `dyn` will become a proper keyword and a lint ag...
RFC 2113
RFC
2017-08-17
~8 min read