github.com
## Summary [summary]: #summary A new attribute can be placed on trait implementations: `#[do_not_recommend]`. This attribute will cause the compiler to never recommend this impl transitively as a way to implement another trait. For example,...
RFC 2397
RFC
2018-04-07
~8 min read
github.com
## Summary [summary]: #summary This RFC attempts to resolve some of the unresolved questions in [RFC 2045 (`target_feature`)]. In particular, it allows: * specifying `#[target_feature]` functions without making them `unsafe fn` * calling `#...
RFC 2396
RFC
2018-04-06
~7 min read
github.com
## Summary [summary]: #summary [RFC 243]: https://github.com/rust-lang/rfcs/blob/master/text/0243-trait-based-exception-handling.md#choice-of-keywords [RFC 243] left the choice of keyword for `catch { .. }` expressions unresolved. This RFC...
RFC 2388
RFC
2018-04-04
~24 min read
github.com
## Summary [summary]: #summary Stabilize the `#[used]` attribute which is used to force the compiler to keep static variables, even if not referenced by any other part of the program, in the output object file. ## Motivation [motivation]: #...
RFC 2386
RFC
2018-04-03
~6 min read
github.com
## Summary [summary]: #summary Rust has a number of code lints, both built into the compiler and provided through external tools, which provide guidelines for code style. The linter behavior can be customized by attaching attributes to regi...
RFC 2383
RFC
2018-04-02
~10 min read
github.com
## Summary [summary]: #summary Add async & await syntaxes to make it more ergonomic to write code manipulating futures. This has [a companion RFC](2592-futures.md) to add a small futures API to libstd and libcore. ## Motivation [motivation]...
RFC 2394
RFC
2018-03-30
~21 min read
github.com
## Summary [summary]: #summary This RFC introduces the `#[optimize]` attribute for controlling optimization level on a per-item basis. ## Motivation [motivation]: #motivation Currently, rustc has only a small number of optimization options...
RFC 2412
RFC
2018-03-26
~6 min read
github.com
Take a T from a &mut T temporarily
Crate
v0.2.2
2018-03-20
github.com
## Summary [summary]: #summary Add a `dbg!($expr)` macro to the prelude (so that it doesn’t need to be imported) that prints its argument with some metadata (source code location and stringification) before returning it. This is a simpler a...
RFC 2361
RFC
2018-03-13
~8 min read
github.com
## Summary [summary]: #summary This RFC adds `core::hint::bench_black_box` (see [black box]), an identity function that hints the compiler to be maximally pessimistic in terms of the assumptions about what `bench_black_box` could do. [black...
RFC 2360
RFC
2018-03-12
~6 min read
github.com
## Summary [summary]: #summary This RFC gives users a way to control the discriminants of variants of all enumerations, not just the ones that are shaped like C-like enums (i.e. where all the variants have no fields). The change is minimal:...
RFC 2363
RFC
2018-03-11
~4 min read
github.com
## Summary [summary]: #summary Permit matching sub-slices and sub-arrays with the syntax `..`. Binding a variable to the expression matched by a subslice pattern can be done using syntax `<IDENT> @ ..` similar to the existing `<IDENT> @ <PA...
RFC 2359
RFC
2018-03-08
~8 min read
github.com
## Summary [summary]: #summary Add the methods `is_sorted`, `is_sorted_by` and `is_sorted_by_key` to `[T]`; add the methods `is_sorted` and `is_sorted_by` to `Iterator`. ## Motivation [motivation]: #motivation In quite a few situations, one...
RFC 2351
RFC
2018-02-24
~8 min read
github.com
## Summary [summary]: #summary Allow the use of `panic!`, `assert!` and `assert_eq!` within constants and report their evaluation as a compile-time error. ## Motivation [motivation]: #motivation It can often be desirable to terminate a cons...
RFC 2345
RFC
2018-02-22
~2 min read
github.com
## Summary [summary]: #summary Introduce new APIs to libcore / libstd to serve as safe abstractions for data which cannot be safely moved around. ## Motivation [motivation]: #motivation A longstanding problem for Rust has been dealing with...
RFC 2349
RFC
2018-02-19
~13 min read
github.com
## Summary [summary]: #summary Allow the use of `loop`, `while` and `while let` during constant evaluation. `for` loops are technically allowed, too, but can't be used in practice because each iteration calls `iterator.next()`, which is not...
RFC 2344
RFC
2018-02-18
~2 min read
github.com
## Summary [summary]: #summary This RFC proposes to allow access to enum variants through type aliases. This enables better abstraction/information hiding by encapsulating enums in aliases without having to create another enum type and requ...
RFC 2338
RFC
2018-02-15
~3 min read
github.com
## Summary [summary]: #summary Adds a *Prior art* section to the RFC template where RFC authors may discuss the experience of other programming languages and their communities with respect to what is being proposed. This section may also di...
RFC 2333
RFC
2018-02-12
~7 min read
github.com
## Summary [summary]: #summary The purpose of this RFC is to provide a framework for SIMD to be used on stable Rust. It proposes stabilizing x86-specific vendor intrinsics, but includes the scaffolding for other platforms as well as a futur...
RFC 2325
RFC
2018-02-04
~24 min read
github.com
## Summary [summary]: #summary This RFC allows safe implementations of `unsafe` trait methods. An `impl` may implement a trait with methods marked as `unsafe` without marking the methods in the `impl` as `unsafe`. This is referred to as *ov...
RFC 2316
RFC
2018-01-30
~6 min read