## 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...
## 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...
## 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...
## 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...
## 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...
## 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...
## 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...
## 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....
## 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...
## 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,...
## 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 `#...
## 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...
## 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]: #...
## 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...
## 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]...
## 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...
Take a T from a &mut T temporarily
crate
v0.2.2
github.com
2018-03-20
## 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...
## 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...
## 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:...