Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
github.com
## 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,...
RFC 1445 RFC 2015-02-06 ~17 min read
github.com
## 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...
RFC 213 RFC 2015-02-04 ~18 min read
github.com
## 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...
RFC 809 RFC 2015-02-04 ~20 min read
github.com
## 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...
RFC 803 RFC 2015-02-03 ~6 min read
github.com
## 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....
RFC 771 RFC 2015-01-30 ~1 min read
github.com
## 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...
RFC 736 RFC 2015-01-26 ~8 min read
github.com
## 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...
RFC 587 RFC 2015-01-22 ~3 min read
github.com
## 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...
RFC 639 RFC 2015-01-21 ~4 min read
github.com
## 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...
RFC 702 RFC 2015-01-21 ~1 min read
github.com
## 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...
RFC 601 RFC 2015-01-20 ~1 min read
github.com
## 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...
RFC 640 RFC 2015-01-20 ~4 min read
github.com
## 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...
RFC 593 RFC 2015-01-18 ~1 min read
github.com
## 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...
RFC 592 RFC 2015-01-17 ~4 min read
github.com
## 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...
RFC 580 RFC 2015-01-13 ~4 min read
github.com
## 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...
RFC 574 RFC 2015-01-12 ~2 min read
github.com
## Summary Feature gate unused attributes for backwards compatibility. ## Motivation Interpreting the current backwards compatibility rules strictly, it's not possible to add any further language features that use new attributes. For exampl...
RFC 572 RFC 2015-01-11 ~2 min read
github.com
## Summary Remove official support for the `ndebug` config variable, replace the current usage of it with a more appropriate `debug_assertions` compiler-provided config variable. ## Motivation The usage of 'ndebug' to indicate a release bui...
RFC 563 RFC 2015-01-08 ~1 min read
github.com
## Summary A [recent RFC](https://github.com/rust-lang/rfcs/pull/504) split what was previously `fmt::Show` into two traits, `fmt::Show` and `fmt::String`, with format specifiers `{:?}` and `{}` respectively. That RFC did not, however, esta...
RFC 565 RFC 2015-01-08 ~5 min read
github.com
## Summary Remove chaining of comparison operators (e.g. `a == b == c`) from the syntax. Instead, require extra parentheses (`(a == b) == c`). ## Motivation ```rust fn f(a: bool, b: bool, c: bool) -> bool { a == b == c } ``` This code is cu...
RFC 558 RFC 2015-01-07 ~2 min read
github.com
## Summary Establish a convention throughout the core libraries for unsafe functions constructing references out of raw pointers. The goal is to improve usability while promoting awareness of possible pitfalls with inferred lifetimes. ## Mo...
RFC 556 RFC 2015-01-06 ~3 min read
"What I have been learning ... was not Rust in particular, but how to write sound software in general, and that in my opinion is the largest asset that..."

Search tips

Type anything to search across articles, videos (including conference talks), podcasts, research, crates, and Rust API documentation. 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.
Put ! first to open the top result immediately. Quote the whole query for a literal leading bang, as in '!Send'. Bangs elsewhere, such as println!, stay literal. Browser and launcher shortcuts can invoke this directly. See search integrations.
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.