github.com
## Summary [summary]: #summary Promote constexpr rvalues to values in static memory instead of stack slots, and expose those in the language by being able to directly create `'static` references to them. This would allow code like `let x: &...
RFC 1414
RFC
2015-12-18
~4 min read
github.com
## Summary [summary]: #summary Deprecate type aliases and structs in `std::os::$platform::raw` in favor of trait-based accessors which return Rust types rather than the equivalent C type aliases. ## Motivation [motivation]: #motivation [RFC...
RFC 1415
RFC
2015-12-18
~5 min read
github.com
## Summary [summary]: #summary Expand the current `pub`/non-`pub` categorization of items with the ability to say "make this item visible *solely* to a (named) module tree." The current `crate` is one such tree, and would be expressed via:...
RFC 1422
RFC
2015-12-18
~26 min read
github.com
## Summary [summary]: #summary Extend the existing `#[repr]` attribute on structs with a `packed = "N"` option to specify a custom packing for `struct` types. ## Motivation [motivation]: #motivation Many C/C++ compilers allow a packing to b...
RFC 1399
RFC
2015-12-06
~3 min read
github.com
## Summary [summary]: #summary Add a standard allocator interface and support for user-defined allocators, with the following goals: 1. Allow libraries (in libstd and elsewhere) to be generic with respect to the particular allocator, to sup...
RFC 1398
RFC
2015-12-01
~63 min read
github.com
## Summary [summary]: #summary Improve the target-specific dependency experience in Cargo by leveraging the same `#[cfg]` syntax that Rust has. ## Motivation [motivation]: #motivation Currently in Cargo it's [relatively painful][issue] to l...
RFC 1361
RFC
2015-11-10
~4 min read
github.com
## Summary [summary]: #summary Extend the existing `#[repr]` attribute on structs with an `align = "N"` option to specify a custom alignment for `struct` types. ## Motivation [motivation]: #motivation The alignment of a type is normally not...
RFC 1358
RFC
2015-11-09
~4 min read
github.com
## Summary [summary]: #summary Add two methods to the `std::os::unix::process::CommandExt` trait to provide more control over how processes are spawned on Unix, specifically: ```rust fn exec(&mut self) -> io::Error; fn before_exec<F>(&mut s...
RFC 1359
RFC
2015-11-09
~4 min read
github.com
## Summary [summary]: #summary [src/grammar]: https://github.com/rust-lang/rust/tree/master/src/grammar Grammar of the Rust language should not be rustc implementation-defined. We have a formal grammar at [src/grammar] which is to be used a...
RFC 1331
RFC
2015-10-21
~3 min read
github.com
## Summary [summary]: #summary Refine the unguarded-escape-hatch from [RFC 1238][] (nonparametric dropck) so that instead of a single attribute side-stepping *all* dropck constraints for a type's destructor, we instead have a more focused s...
RFC 1327
RFC
2015-10-19
~16 min read
github.com
## Summary Add "panic-safe" or "total" alternatives to the existing panicking indexing syntax. ## Motivation `SliceExt::get` and `SliceExt::get_mut` can be thought as non-panicking versions of the simple indexing syntax, `a[idx]`, and `Slic...
RFC 1679
RFC
2015-10-16
~2 min read
github.com
## Summary This RFC describes the Rust Language Server (RLS). This is a program designed to service IDEs and other tools. It offers a new access point to compilation and APIs for getting information about a program. The RLS can be thought o...
RFC 1317
RFC
2015-10-13
~11 min read
github.com
## Summary When a thread panics in Rust, the unwinding runtime currently prints a message to standard error containing the panic argument as well as the filename and line number corresponding to the location from which the panic originated....
RFC 1328
RFC
2015-10-08
~5 min read
github.com
## Summary Add some additional utility methods to OsString and OsStr. ## Motivation OsString and OsStr are extremely bare at the moment; some utilities would make them easier to work with. The given set of utilities is taken from String, an...
RFC 1307
RFC
2015-10-04
~1 min read
github.com
## Summary Define the general semantics of intrinsic functions. This does not define the semantics of the individual intrinsics, instead defines the semantics around intrinsic functions in general. ## Motivation Intrinsics are currently poo...
RFC 1300
RFC
2015-09-29
~1 min read
github.com
## Summary Promote the `libc` crate from the nursery into the `rust-lang` organization after applying changes such as: * Remove the internal organization of the crate in favor of just one flat namespace at the top of the crate. * Set up a l...
RFC 1291
RFC
2015-09-21
~12 min read
github.com
## Summary This RFC proposes several new types and associated APIs for working with times in Rust. The primary new types are `Instant`, for working with time that is guaranteed to be monotonic, and `SystemTime`, for working with times acros...
RFC 1288
RFC
2015-09-20
~11 min read
github.com
## Summary Improve Cargo's story around multi-crate single-repo project management by introducing the concept of workspaces. All packages in a workspace will share `Cargo.lock` and an output directory for artifacts. ## Motivation A common m...
RFC 1525
RFC
2015-09-15
~9 min read
github.com
## Summary This RFC proposes to allow library authors to use a `#[deprecated]` attribute, with optional `since = "`*version*`"` and `note = "`*free text*`"`fields. The compiler can then warn on deprecated items, while `rustdoc` can document...
RFC 1270
RFC
2015-09-03
~4 min read
github.com
## Summary Preventing overlapping implementations of a trait makes complete sense in the context of determining method dispatch. There must not be ambiguity in what code will actually be run for a given type. However, for marker traits, the...
RFC 1268
RFC
2015-09-02
~3 min read