Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
## Summary Allow renaming imports when importing a group of symbols from a module. ```rust use std::io::{ Error as IoError, Result as IoResult, Read, Write } ``` ## Motivation The current design requires the above example to be written like...
github.com RFC 1219 RFC 2015-02-15 ~1 min read
## Summary Remove panics from `CString::from_slice` and `CString::from_vec`, making these functions return `Result` instead. ## Motivation > As I shivered and brooded on the casting of that brain-blasting shadow, > I knew that I had at last...
github.com RFC 840 RFC 2015-02-13 ~2 min read
## Summary Make all collections `impl<'a, T: Copy> Extend<&'a T>`. This enables both `vec.extend(&[1, 2, 3])`, and `vec.extend(&hash_set_of_ints)`. This partially covers the usecase of the awkward `Vec::push_all` with literally no ergonomic...
github.com RFC 839 RFC 2015-02-13 ~2 min read
## Summary Add a default lifetime bound for object types, so that it is no longer necessary to write things like `Box<Trait+'static>` or `&'a (Trait+'a)`. The default will be based on the context in which the object type appears. Typically,...
github.com RFC 599 RFC 2015-02-12 ~11 min read
## Summary Add back the functionality of `Vec::from_elem` by improving the `vec![x; n]` sugar to work with Clone `x` and runtime `n`. ## Motivation High demand, mostly. There are currently a few ways to achieve the behaviour of `Vec::from_e...
github.com RFC 832 RFC 2015-02-11 ~2 min read
## Summary [summary]: #summary The current compiler implements a more expansive semantics for pattern matching than was originally intended. This RFC introduces several mechanisms to reign in these semantics without actually breaking (much,...
github.com RFC 1445 RFC 2015-02-06 ~17 min read
## This RFC was previously approved, but later **withdrawn** For details see the [summary comment]. [summary comment]: https://github.com/rust-lang/rust/issues/27779#issuecomment-378416911 ## Summary * Change placement-new syntax from: `box...
github.com RFC 809 RFC 2015-02-04 ~20 min read
## Summary Rust currently includes feature-gated support for type parameters that specify a default value. This feature is not well-specified. The aim of this RFC is to fully specify the behavior of defaulted type parameters: 1. Type parame...
github.com RFC 213 RFC 2015-02-04 ~18 min read
## Summary Add type ascription to expressions. (An earlier version of this RFC covered type ascription in patterns too, that has been postponed). Type ascription on expression has already been implemented. See also discussion on [#354](http...
github.com RFC 803 RFC 2015-02-03 ~6 min read
## Summary Add a `once` function to `std::iter` to construct an iterator yielding a given value one time, and an `empty` function to construct an iterator yielding no values. ## Motivation This is a common task when working with iterators....
github.com RFC 771 RFC 2015-01-30 ~1 min read
## Summary Change Functional Record Update (FRU) for struct literal expressions to respect struct privacy. ## Motivation Functional Record Update is the name for the idiom by which one can write `..<expr>` at the end of a struct literal exp...
github.com RFC 736 RFC 2015-01-26 ~8 min read
## Summary The `Fn` traits should be modified to make the return type an associated type. ## Motivation The strongest reason is because it would permit impls like the following (example from @alexcrichton): ```rust impl<R,F> Foo for F : FnM...
github.com RFC 587 RFC 2015-01-22 ~3 min read
## Summary Add the syntax `..` for `std::ops::RangeFull`. ## Motivation Range expressions `a..b`, `a..` and `..b` all have dedicated syntax and produce first-class values. This means that they will be usable and useful in custom APIs, so fo...
github.com RFC 702 RFC 2015-01-21 ~1 min read
## Summary Add a new intrinsic, `discriminant_value` that extracts the value of the discriminant for enum types. ## Motivation Many operations that work with discriminant values can be significantly improved with the ability to extract the...
github.com RFC 639 RFC 2015-01-21 ~4 min read
## Summary The `Debug` trait is intended to be implemented by every type and display useful runtime information to help with debugging. This RFC proposes two additions to the fmt API, one of which aids implementors of `Debug`, and one which...
github.com RFC 640 RFC 2015-01-20 ~4 min read
## Summary Rename the `be` reserved keyword to `become`. ## Motivation A keyword needs to be reserved to support guaranteed tail calls in a backward-compatible way. Currently the keyword reserved for this purpose is `be`, but the `become` a...
github.com RFC 601 RFC 2015-01-20 ~1 min read
## Summary Make `Self` a keyword. ## Motivation Right now, `Self` is just a regular identifier that happens to get a special meaning inside trait definitions and impls. Specifically, users are not forbidden from defining a type called `Self...
github.com RFC 593 RFC 2015-01-18 ~1 min read
## Summary Make `CString` dereference to a token type `CStr`, which designates null-terminated string data. ```rust // Type-checked to only accept C strings fn safe_puts(s: &CStr) { unsafe { libc::puts(s.as_ptr()) }; } fn main() { let s = C...
github.com RFC 592 RFC 2015-01-17 ~4 min read
## Summary Rename (maybe one of) the standard collections, so as to make the names more consistent. Currently, among all the alternatives, renaming `BinaryHeap` to `BinHeap` is the slightly preferred solution. ## Motivation In [this comment...
github.com RFC 580 RFC 2015-01-13 ~4 min read
## Summary Replace `Vec::drain` by a method that accepts a range parameter. Add `String::drain` with similar functionality. ## Motivation Allowing a range parameter is strictly more powerful than the current version. E.g., see the following...
github.com RFC 574 RFC 2015-01-12 ~2 min read
"Rust is 5 languages stacked on top of each other, except that instead of ending up like 5 children under a trenchcoat, they end up like the power rang..."

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, and research. These operators give you finer control — click an example to try it.

Find pages containing all your words. Pages where the words appear together rank higher.
Quote part of your query to keep those words together as an exact phrase within a larger search.
Wrap the whole query in quotes for a verbatim search that matches text exactly, punctuation and all — perfect for Rust syntax. Needs at least 3 characters.
Limit results to a single site. Works on its own () too. One site: per search.

Use the tabs and filters above the results to narrow by content type, publication year, and sort order.