github.com
## 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...
RFC 1623
RFC
2016-05-20
~3 min read
github.com
## 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...
RFC 1624
RFC
2016-05-20
~6 min read
github.com
## 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...
RFC 1618
RFC
2016-05-17
~3 min read
github.com
## 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...
RFC 1620
RFC
2016-05-11
~30 min read
github.com
## 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...
RFC 1598
RFC
2016-04-29
~14 min read
github.com
## 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...
RFC 1589
RFC
2016-04-22
~8 min read
github.com
## 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...
RFC 1590
RFC
2016-04-22
~1 min read
github.com
## 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...
RFC 1607
RFC
2016-04-21
~11 min read
github.com
## 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...
RFC 1584
RFC
2016-04-17
~3 min read
github.com
## 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...
RFC 1581
RFC
2016-04-15
~5 min read
github.com
## 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...
RFC 1576
RFC
2016-04-08
~3 min read
github.com
## 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...
RFC 1574
RFC
2016-03-31
~12 min read
github.com
## 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...
RFC 1559
RFC
2016-03-28
~3 min read
github.com
## Summary [summary]: #summary A closure that does not move, borrow, or otherwise access (capture) local variables should be coercible to a function pointer (`fn`). ## Motivation [motivation]: #motivation Currently in Rust, it is impossible...
RFC 1558
RFC
2016-03-25
~6 min read
github.com
## Summary [summary]: #summary This RFC exposes LLVM's support for [module-level inline assembly](http://llvm.org/docs/LangRef.html#module-level-inline-assembly) by adding a `global_asm!` macro. The syntax is very simple: it just takes a st...
RFC 1548
RFC
2016-03-18
~1 min read
github.com
## Summary [summary]: #summary Add a `contains` method to `VecDeque` and `LinkedList` that checks if the collection contains a given item. ## Motivation [motivation]: #motivation A `contains` method exists for the slice type `[T]` and for `...
RFC 1552
RFC
2016-03-16
~1 min read
github.com
## Summary [summary]: #summary This RFC basically changes `core::sync::atomic` to look like this: ```rust #[cfg(target_has_atomic = "8")] struct AtomicBool {} #[cfg(target_has_atomic = "8")] struct AtomicI8 {} #[cfg(target_has_atomic = "8")...
RFC 1543
RFC
2016-03-14
~3 min read
github.com
## Summary [summary]: #summary The standard library provides the `From` and `Into` traits as standard ways to convert between types. However, these traits only support *infallible* conversions. This RFC proposes the addition of `TryFrom` an...
RFC 1542
RFC
2016-03-10
~3 min read
github.com
## Summary [summary]: #summary Stabilize the `-C overflow-checks` command line argument. ## Motivation [motivation]: #motivation This is an easy way to turn on overflow checks in release builds without otherwise turning on debug assertions,...
RFC 1535
RFC
2016-03-09
~1 min read
github.com
## Summary [summary]: #summary With specialization on the way, we need to talk about the semantics of `<T as Clone>::clone() where T: Copy`. It's generally been an unspoken rule of Rust that a `clone` of a `Copy` type is equivalent to a `me...
RFC 1521
RFC
2016-03-01
~1 min read