Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
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
github.com
## Summary Change pattern matching on an `&mut T` to `&mut <pat>`, away from its current `&<pat>` syntax. ## Motivation Pattern matching mirrors construction for almost all types, *except* `&mut`, which is constructed with `&mut <expr>` but...
RFC 179 RFC 2015-01-04 ~2 min read
github.com
## Summary 1. Remove the `Sized` default for the implicitly declared `Self` parameter on traits. 2. Make it "object unsafe" for a trait to inherit from `Sized`. ## Motivation The primary motivation is to enable a trait object `SomeTrait` to...
RFC 546 RFC 2015-01-03 ~3 min read
github.com
## Summary * Remove the `std::c_vec` module * Move `std::c_str` under a new `std::ffi` module, not exporting the `c_str` module. * Focus `CString` on *Rust-owned* bytes, providing a static assertion that a pile of bytes has no interior nuls...
RFC 494 RFC 2015-01-02 ~7 min read
github.com
## Summary Rename the `#[deriving(Foo)]` syntax extension to `#[derive(Foo)]`. ## Motivation Unlike our other verb-based attribute names, "deriving" stands alone as a present participle. By convention our attributes prefer "warn" rather tha...
RFC 534 RFC 2014-12-31 ~1 min read
github.com
## Summary Statically enforce that the `std::fmt` module can only create valid UTF-8 data by removing the arbitrary `write` method in favor of a `write_str` method. ## Motivation Today it is conventionally true that the output from macros l...
RFC 526 RFC 2014-12-30 ~3 min read
github.com
## Summary This RFC proposes that we rename the pointer-sized integer types `int/uint`, so as to avoid misconceptions and misuses. After extensive community discussions and several revisions of this RFC, the finally chosen names are `isize/...
RFC 544 RFC 2014-12-28 ~12 min read
github.com
## Summary Future-proof the allowed forms that input to an MBE can take by requiring certain delimiters following NTs in a matcher. In the future, it will be possible to lift these restrictions backwards compatibly if desired. ## Key Termin...
RFC 550 RFC 2014-12-21 ~21 min read
github.com
## Summary Stabilize the `std::prelude` module by removing some of the less commonly used functionality of it. ## Motivation The prelude of the standard library is included into all Rust programs by default, and is consequently quite an imp...
RFC 503 RFC 2014-12-20 ~12 min read
"_Captain's log, day 21_ We have sailed on Reddit and Twitter for three weeks now, searching far and wide, yet the only thing we found was a barren la..."

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.