github.com
## Summary [summary]: #summary Stabilize implementing panics as aborts. * Stabilize the `-Z no-landing-pads` flag under the name `-C panic=strategy` * Implement a number of unstable features akin to custom allocators to swap out implementat...
RFC 1513
RFC
2016-02-25
~10 min read
github.com
## Summary [summary]: #summary Add a new crate type accepted by the compiler, called `cdylib`, which corresponds to exporting a C interface from a Rust dynamic library. ## Motivation [motivation]: #motivation Currently the compiler supports...
RFC 1510
RFC
2016-02-23
~3 min read
github.com
## Summary [summary]: #summary This RFC adds the `i128` and `u128` primitive types to Rust. ## Motivation [motivation]: #motivation Some algorithms need to work with very large numbers that don't fit in 64 bits, such as certain cryptographi...
RFC 1504
RFC
2016-02-21
~4 min read
github.com
## Summary [summary]: #summary This RFC proposes an evolution of Rust's procedural macro system (aka syntax extensions, aka compiler plugins). This RFC specifies syntax for the definition of procedural macros, a high-level view of their imp...
RFC 1566
RFC
2016-02-15
~16 min read
github.com
## Summary [summary]: #summary Add constructor and conversion functions for `std::net::Ipv6Addr` and `std::net::Ipv4Addr` that are oriented around arrays of octets. ## Motivation [motivation]: #motivation Currently, the interface for `std::...
RFC 1498
RFC
2016-02-12
~1 min read
github.com
## Summary [summary]: #summary Naming and modularisation for macros. This RFC proposes making macros a first-class citizen in the Rust module system. Both macros by example (`macro_rules` macros) and procedural macros (aka syntax extensions...
RFC 1561
RFC
2016-02-11
~5 min read
github.com
## Summary [summary]: #summary Some internal and language-level changes to name resolution. Internally, name resolution will be split into two parts - import resolution and name lookup. Import resolution is moved forward in time to happen i...
RFC 1560
RFC
2016-02-09
~18 min read
github.com
## Summary [summary]: #summary Provide a simple model describing three kinds of structs and variants and their relationships. Provide a way to match on structs/variants in patterns regardless of their kind (`S{..}`). Permit tuple structs an...
RFC 1506
RFC
2016-02-07
~5 min read
github.com
## Summary [summary]: #summary Permit the `..` pattern fragment in more contexts. ## Motivation [motivation]: #motivation The pattern fragment `..` can be used in some patterns to denote several elements in list contexts. However, it doesn'...
RFC 1492
RFC
2016-02-06
~3 min read
github.com
## Summary [summary]: #summary Add a conservative form of abstract return types, also known as `impl Trait`, that will be compatible with most possible future extensions by initially being restricted to: - Only free-standing or inherent fun...
RFC 1522
RFC
2016-01-31
~18 min read
github.com
## Summary [summary]: #summary [Unix domain sockets](https://en.wikipedia.org/wiki/Unix_domain_socket) provide a commonly used form of IPC on Unix-derived systems. This RFC proposes move the [unix_socket](https://crates.io/crates/unix_socke...
RFC 1479
RFC
2016-01-25
~11 min read
github.com
## Summary [summary]: #summary Stabilize the `volatile_load` and `volatile_store` intrinsics as `ptr::read_volatile` and `ptr::write_volatile`. ## Motivation [motivation]: #motivation This is necessary to allow volatile access to memory-map...
RFC 1467
RFC
2016-01-18
~1 min read
github.com
## Summary [summary]: #summary [RFC 1158](https://github.com/rust-lang/rfcs/pull/1158) proposed the addition of more functionality for the `TcpStream`, `TcpListener` and `UdpSocket` types, but was declined so that those APIs could be built...
RFC 1461
RFC
2016-01-12
~2 min read
github.com
## Summary [summary]: #summary Rust currently provides a `compare_and_swap` method on atomic types, but this method only exposes a subset of the functionality of the C++11 equivalents [`compare_exchange_strong` and `compare_exchange_weak`](...
RFC 1443
RFC
2016-01-05
~4 min read
github.com
## Summary Rust has extend error messages that explain each error in more detail. We've been writing lots of them, which is good, but they're written in different styles, which is bad. This RFC intends to fix this inconsistency by providing...
RFC 1567
RFC
2016-01-04
~3 min read
github.com
## Summary [summary]: #summary Allow types with destructors to be used in `static` items, `const` items, and `const` functions. ## Motivation [motivation]: #motivation Some of the collection types do not allocate any memory when constructed...
RFC 1440
RFC
2016-01-01
~2 min read
github.com
## Summary [summary]: #summary Provide native support for C-compatible unions, defined via a new "contextual keyword" `union`, without breaking any existing code that uses `union` as an identifier. **Note:** This RFC has been partially supe...
RFC 1444
RFC
2015-12-29
~12 min read
github.com
## Summary [summary]: #summary Add a `splice` method to `Vec<T>` and `String` removes a range of elements, and replaces it in place with a given sequence of values. The new sequence does not necessarily have the same length as the range it...
RFC 1432
RFC
2015-12-28
~4 min read
github.com
## Summary [summary]: #summary Implement a method, `contains()`, for `Range`, `RangeFrom`, and `RangeTo`, checking if a number is in the range. Note that the alternatives are just as important as the main proposal. ## Motivation [motivation...
RFC 1434
RFC
2015-12-28
~1 min read
github.com
## Summary [summary]: #summary Safe `memcpy` from one slice to another of the same type and length. ## Motivation [motivation]: #motivation Currently, the only way to quickly copy from one non-`u8` slice to another is to use a loop, or unsa...
RFC 1419
RFC
2015-12-20
~1 min read