Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
github.com
## Summary The `||` unboxed closure form should be split into two forms—`||` for nonescaping closures and `move ||` for escaping closures—and the capture clauses and self type specifiers should be removed. ## Motivation Having to specify `r...
RFC 231 RFC 2014-09-09 ~2 min read
github.com
## Summary Restore the integer inference fallback that was removed. Integer literals whose type is unconstrained will default to `i32`, unlike the previous fallback to `int`. Floating point literals will default to `f64`. ## Motivation ###...
RFC 212 RFC 2014-09-03 ~6 min read
github.com
## Summary This is a *conventions RFC* for settling naming conventions when there are by value, by reference, and by mutable reference variants of an operation. ## Motivation Currently the libraries are not terribly consistent about how to...
RFC 199 RFC 2014-08-28 ~3 min read
github.com
## Summary Add additional iterator-like Entry objects to collections. Entries provide a composable mechanism for in-place observation and mutation of a single element in the collection, without having to "re-find" the element multiple times...
RFC 216 RFC 2014-08-28 ~7 min read
github.com
## Summary When a struct type `S` has no fields (a so-called "empty struct"), allow it to be defined via either `struct S;` or `struct S {}`. When defined via `struct S;`, allow instances of it to be constructed and pattern-matched via eith...
RFC 218 RFC 2014-08-28 ~12 min read
github.com
## Summary Introduce a new `while let PAT = EXPR { BODY }` construct. This allows for using a refutable pattern match (with optional variable binding) as the condition of a loop. ## Motivation Just as `if let` was inspired by Swift, it turn...
RFC 214 RFC 2014-08-27 ~2 min read
github.com
## Summary Introduce a new `if let PAT = EXPR { BODY }` construct. This allows for refutable pattern matching without the syntactic and semantic overhead of a full `match`, and without the corresponding extra rightward drift. Informally thi...
RFC 160 RFC 2014-08-26 ~5 min read
github.com
## Summary Change syntax of subslices matching from `..xs` to `xs..` to be more consistent with the rest of the language and allow future backwards compatible improvements. Small example: ```rust match slice { [xs.., _] => xs, [] => fail!()...
RFC 202 RFC 2014-08-15 ~1 min read
github.com
## Summary The `#[cfg(...)]` attribute provides a mechanism for conditional compilation of items in a Rust crate. This RFC proposes to change the syntax of `#[cfg]` to make more sense as well as enable expansion of the conditional compilati...
RFC 194 RFC 2014-08-09 ~3 min read
github.com
## Summary Divide global declarations into two categories: - **constants** declare *constant values*. These represent a value, not a memory address. This is the most common thing one would reach for and would replace `static` as we know it...
RFC 246 RFC 2014-08-08 ~8 min read
github.com
## Summary - Remove the special-case bound `'static` and replace with a generalized *lifetime bound* that can be used on objects and type parameters. - Remove the rules that aim to prevent references from being stored into objects and repla...
RFC 192 RFC 2014-08-06 ~14 min read
github.com
## Summary This RFC extends traits with *associated items*, which make generic programming more convenient, scalable, and powerful. In particular, traits will consist of a set of methods, together with: * Associated functions (already prese...
RFC 195 RFC 2014-08-04 ~36 min read
github.com
## Summary - Convert function call `a(b, ..., z)` into an overloadable operator via the traits `Fn<A,R>`, `FnShare<A,R>`, and `FnOnce<A,R>`, where `A` is a tuple `(B, ..., Z)` of the types `B...Z` of the arguments `b...z`, and `R` is the re...
RFC 114 RFC 2014-07-29 ~14 min read
github.com
## Summary Remove special treatment of `Box<T>` from the borrow checker. ## Motivation Currently the `Box<T>` type is special-cased and converted to the old `~T` internally. This is mostly invisible to the user, but it shows up in some plac...
RFC 130 RFC 2014-07-29 ~3 min read
github.com
## Summary Add simple syntax for accessing values within tuples and tuple structs behind a feature gate. ## Motivation Right now accessing fields of tuples and tuple structs is incredibly painful—one must rely on pattern-matching alone to e...
RFC 184 RFC 2014-07-24 ~1 min read
github.com
## Summary This RFC improves interoperation between APIs with different error types. It proposes to: * Increase the flexibility of the `try!` macro for clients of multiple libraries with disparate error types. * Standardize on basic functio...
RFC 201 RFC 2014-07-17 ~8 min read
github.com
## Summary Change the rebinding syntax from `use ID = PATH` to `use PATH as ID`, so that paths all line up on the left side, and imported identifiers are all on the right side. Also modify `extern crate` syntax analogously, for consistency....
RFC 169 RFC 2014-07-16 ~5 min read
github.com
## Summary The variants of an enum are currently defined in the same namespace as the enum itself. This RFC proposes to define variants under the enum's namespace. ### Note In the rest of this RFC, *flat enums* will be used to refer to the...
RFC 390 RFC 2014-07-16 ~7 min read
github.com
## Summary Rust's support for pattern matching on slices has grown steadily and incrementally without a lot of oversight. We have concern that Rust is doing too much here, and that the complexity is not worth it. This RFC proposes to featur...
RFC 164 RFC 2014-07-14 ~1 min read
github.com
## Summary Require "anonymous traits", i.e. `impl MyStruct` to occur only in the same module that `MyStruct` is defined. ## Motivation Before I can explain the motivation for this, I should provide some background as to how anonymous traits...
RFC 155 RFC 2014-07-04 ~4 min read
"Happy "Clippy, you are very helpful" day for those who celebrates!"

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.