github.com
## Summary Overhaul the `build` command internally and establish a number of conventions around build commands to facilitate linking native code to Cargo packages. 1. Instead of having the `build` command be some form of script, it will be...
RFC 403
RFC
2014-10-30
~20 min read
github.com
## Summary This is a combined *conventions* and *library stabilization* RFC. The goal is to establish a set of naming and signature conventions for `std::collections`. The major components of the RFC include: * Removing most of the traits i...
RFC 235
RFC
2014-10-29
~46 min read
github.com
## Summary This RFC describes changes to the Rust release process, primarily the division of Rust's time-based releases into 'release channels', following the 'release train' model used by e.g. Firefox and Chrome; as well as 'feature stagin...
RFC 507
RFC
2014-10-27
~17 min read
github.com
## Summary Just like structs, variants can come in three forms - unit-like, tuple-like, or struct-like: ```rust enum Foo { Foo, Bar(int, String), Baz { a: int, b: String } } ``` The last form is currently feature gated. This RFC proposes to...
RFC 418
RFC
2014-10-25
~2 min read
github.com
# Module system cleanups - Start Date: 2014-10-10 - RFC PR: [rust-lang/rfcs#385](https://github.com/rust-lang/rfcs/pull/385) - Rust Issue: [rust-lang/rust#18219](https://github.com/rust-lang/rust/issues/18219) ## Summary - Lift the hard ord...
RFC 385
RFC
2014-10-22
~6 min read
github.com
## Summary This is a conventions RFC for settling a number of remaining naming conventions: * Referring to types in method names * Iterator type names * Additional iterator method names * Getter/setter APIs * Associated types * Trait naming...
RFC 344
RFC
2014-10-15
~8 min read
github.com
## Summary This is a conventions RFC that proposes that the items exported from a module should *never* be prefixed with that module name. For example, we should have `io::Error`, not `io::IoError`. (An alternative design is included that s...
RFC 356
RFC
2014-10-15
~1 min read
github.com
## Summary * Remove reflection from the compiler * Remove `libdebug` * Remove the `Poly` format trait as well as the `:?` format specifier ## Motivation In ancient Rust, one of the primary methods of printing a value was via the `%?` format...
RFC 379
RFC
2014-10-13
~3 min read
github.com
## Summary - Add the ability to have trait bounds that are polymorphic over lifetimes. ## Motivation Currently, closure types can be polymorphic over lifetimes. But closure types are deprecated in favor of traits and object types as part of...
RFC 387
RFC
2014-10-10
~7 min read
github.com
## Summary Parse macro invocations with parentheses or square brackets as expressions no matter the context, and require curly braces or a semicolon following the invocation to invoke a macro as a statement. ## Motivation Currently, macros...
RFC 378
RFC
2014-10-09
~2 min read
github.com
## Summary This is a *conventions RFC* for settling the location of `unsafe` APIs relative to the types they work with, as well as the use of `raw` submodules. The brief summary is: * Unsafe APIs should be made into methods or static functi...
RFC 240
RFC
2014-10-07
~5 min read
github.com
## Summary Reserve `abstract`, `final`, and `override` as possible keywords. ## Motivation We intend to add some mechanism to Rust to support more efficient inheritance (see, e.g., RFC PRs #245 and #250, and this [thread](http://discuss.rus...
RFC 342
RFC
2014-10-07
~1 min read
github.com
## Summary Add `where` clauses, which provide a more expressive means of specifying trait parameter bounds. A `where` clause comes after a declaration of a generic item (e.g., an impl or struct definition) and specifies a list of bounds tha...
RFC 135
RFC
2014-09-30
~12 min read
github.com
## Summary Removes the "virtual struct" (aka struct inheritance) feature, which is currently feature gated. ## Motivation Virtual structs were added experimentally prior to the RFC process as a way of inheriting fields from one struct when...
RFC 341
RFC
2014-09-30
~1 min read
github.com
## Summary Change the types of byte string literals to be references to statically sized types. Ensure the same change can be performed backward compatibly for string literals in the future. ## Motivation Currently byte string and string li...
RFC 339
RFC
2014-09-29
~7 min read
github.com
## Summary Include identifiers immediately after literals in the literal token to allow future expansion, e.g. `"foo"bar` and a `1baz` are considered whole (but semantically invalid) tokens, rather than two separate tokens `"foo"`, `bar` an...
RFC 463
RFC
2014-09-28
~3 min read
github.com
## Summary In string literal contexts, restrict `\xXX` escape sequences to just the range of ASCII characters, `\x00` -- `\x7F`. `\xXX` inputs in string literals with higher numbers are rejected (with an error message suggesting that one us...
RFC 326
RFC
2014-09-26
~6 min read
github.com
## Summary Remove drop flags from values implementing `Drop`, and remove automatic memory zeroing associated with dropping values. Keep dynamic drop semantics, by having each function maintain a (potentially empty) set of auto-injected bool...
RFC 320
RFC
2014-09-24
~19 min read
github.com
## Summary Rename "task failure" to "task panic", and `fail!` to `panic!`. ## Motivation The current terminology of "task failure" often causes problems when writing or speaking about code. You often want to talk about the possibility of an...
RFC 221
RFC
2014-09-23
~1 min read
github.com
## Summary Restrict which traits can be used to make trait objects. Currently, we allow any traits to be used for trait objects, but restrict the methods which can be called on such objects. Here, we propose instead restricting which traits...
RFC 255
RFC
2014-09-22
~6 min read