## Summary [summary]: #summary This RFC proposes allowing the `Self` type to be used in every position in trait implementations, including where clauses and other parameters to the trait being implemented. ## Motivation [motivation]: #motiv...
## Summary [summary]: #summary Incorporate a strike team dedicated to preparing rules and guidelines for writing unsafe code in Rust (commonly referred to as Rust's "memory model"), in cooperation with the lang team. The discussion will gen...
## Summary This RFC proposes an update to error reporting in rustc. Its focus is to change the format of Rust error messages and improve --explain capabilities to focus on the user's code. The end goal is for errors and explain text to be m...
## Summary [summary]: #summary This RFC adds the `checked_*` methods already known from primitives like `usize` to `Duration`. ## Motivation [motivation]: #motivation Generally this helps when subtracting `Duration`s which can be the case q...
## Summary One of the major goals of Rust's development process is *stability without stagnation*. That means we add features regularly. However, it can be difficult to *use* those features if they are not publicly documented anywhere. Ther...
## Summary [summary]: #summary Let's default lifetimes in static and const declarations to `'static`. ## Motivation [motivation]: #motivation Currently, having references in `static` and `const` declarations is cumbersome due to having to e...
## Summary [summary]: #summary (This is a result of discussion of [issue #961](https://github.com/rust-lang/rfcs/issues/961) and related to RFCs [352](https://github.com/rust-lang/rfcs/pull/352) and [955](https://github.com/rust-lang/rfcs/p...
A (mostly) pure-Rust implementation of various common cryptographic algorithms.
crate
v0.2.36
github.com
2016-05-20
## Summary [summary]: #summary Removes the one-type-only restriction on `format_args!` arguments. Expressions like `format_args!("{0:x} {0:o}", foo)` now work as intended, where each argument is still evaluated only once, in order of appear...
## Table of contents * [Summary][summary] * [Motivation][motivation] * [Detailed design][design] * [Syntax][syntax] * [Evolution][evolution] * [Concrete syntax][concrete-syntax] * [Expansion concerns][expansion-concerns] * [Core API][core-a...
## Summary [summary]: #summary Allow type constructors to be associated with traits. This is an incremental step toward a more general feature commonly called "higher-kinded types," which is often ranked highly as a requested feature by Rus...
## Summary [summary]: #summary Defines a best practices procedure for making bug fixes or soundness corrections in the compiler that can cause existing code to stop compiling. ## Motivation [motivation]: #motivation From time to time, we en...
## Summary [summary]: #summary Add a `lifetime` specifier for `macro_rules!` patterns, that matches any valid lifetime. ## Motivation [motivation]: #motivation Certain classes of macros are completely impossible without the ability to pass...
## Summary [summary]: #summary This RFC proposes a process for deciding detailed guidelines for code formatting, and default settings for Rustfmt. The outcome of the process should be an approved formatting style defined by a style guide an...
## Summary [summary]: #summary Declarative macros 2.0. A replacement for `macro_rules!`. This is mostly a placeholder RFC since many of the issues affecting the new macro system are (or will be) addressed in other RFCs. This RFC may be expa...
## Summary [summary]: #summary Add a marker trait `FusedIterator` to `std::iter` and implement it on `Fuse<I>` and applicable iterators and adapters. By implementing `FusedIterator`, an iterator promises to behave as if `Iterator::fuse()` h...
An atomic utility for diffing files in testing
crate
v1.0.0
github.com
2016-04-10
## Summary Add a `literal` fragment specifier for `macro_rules!` patterns that matches literal constants: ```rust macro_rules! foo { ($l:literal) => ( /* ... */ ); }; ``` ## Motivation There are a lot of macros out there that take literal c...
## Summary [summary]: #summary [RFC 505] introduced certain conventions around documenting Rust projects. This RFC augments that one, and a full text of the older one combined with these modifications is provided below. [RFC 505]: https://g...
## Summary [summary]: #summary This RFC proposes accepting literals in attributes by defining the grammar of attributes as: ```ebnf attr : '#' '!'? '[' meta_item ']' ; meta_item : IDENT ( '=' LIT | '(' meta_item_inner? ')' )? ; meta_item_in...