github.com
## Summary [summary]: #summary Stabilize the `alloc` crate. This crate provides the subset of the standard library’s functionality that requires a global allocator (unlike the `core` crate) and an allocation error handler, but not other ope...
RFC 2480
RFC
2018-06-14
~9 min read
github.com
## Summary [summary]: #summary Add a lint that warns when marking an inner function as `#[test]`. ## Motivation [motivation]: #motivation `#[test]` is used to mark functions to be run as part of a test suite. The functions being marked need...
RFC 2471
RFC
2018-06-10
~1 min read
github.com
## Summary [summary]: #summary Allow non-ASCII letters (such as accented characters, Cyrillic, Greek, Kanji, etc.) in Rust identifiers. ## Motivation [motivation]: #motivation Writing code using domain-specific terminology simplifies implem...
RFC 2457
RFC
2018-06-03
~19 min read
github.com
## Summary [summary]: #summary This RFC seeks to clarify some ambiguity from [RFC #1023], and expands it to allow type parameters to appear in the type for which the trait is being implemented, regardless of whether a local type appears bef...
RFC 2451
RFC
2018-05-30
~12 min read
github.com
## Summary [summary]: #summary With any luck, Rustfmt 1.0 will happen very soon. The Rust community takes promises of stability very seriously, and Rustfmt (due to being a tool as well as a library) has some interesting constraints on stabi...
RFC 2437
RFC
2018-05-10
~13 min read
github.com
## Summary [summary]: #summary Turn the `overflowing_literals` lint from warn to deny for the 2018 edition. ## Motivation [motivation]: #motivation Rust has a strong focus on providing compile-time protection against common programmer error...
RFC 2438
RFC
2018-05-10
~5 min read
github.com
## Summary [summary]: #summary This RFC defines an official Rust style guide. The style is a specification for the default behaviour of [Rustfmt](https://github.com/rust-lang-nursery/rustfmt), is required for official Rust projects (includi...
RFC 2436
RFC
2018-05-04
~3 min read
github.com
## Summary [summary]: #summary The keyword `proc` gets unreserved. ## Motivation [motivation]: #motivation We are currently not using `proc` as a keyword for anything in the language. Currently, `proc` is a reserved keyword for future use....
RFC 2420
RFC
2018-04-26
~1 min read
github.com
## Summary [summary]: #summary We unreserve: + `pure` + `sizeof` + `alignof` + `offsetof` ## Motivation [motivation]: #motivation We are currently not using any of the reserved keywords listed in the [summary] for anything in the language a...
RFC 2421
RFC
2018-04-26
~7 min read
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
## 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