Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
github.com
## Summary Do not identify struct literals by searching for `:`. Instead define a sub- category of expressions which excludes struct literals and re-define `for`, `if`, and other expressions which take an expression followed by a block (or...
RFC 92 RFC 2014-06-10 ~3 min read
github.com
## Summary Remove localization features from format!, and change the set of escapes accepted by format strings. The `plural` and `select` methods would be removed, `#` would no longer need to be escaped, and `{{`/`}}` would become escapes f...
RFC 93 RFC 2014-06-10 ~3 min read
github.com
## Summary `Index` should be split into `Index` and `IndexMut`. ## Motivation Currently, the `Index` trait is not suitable for most array indexing tasks. The slice functionality cannot be replicated using it, and as a result the new `Vec` h...
RFC 111 RFC 2014-06-09 ~1 min read
github.com
## Summary Remove the coercion from `Box<T>` to `&mut T` from the language. ## Motivation Currently, the coercion between `Box<T>` to `&mut T` can be a hazard because it can lead to surprising mutation where it was not expected. ## Detailed...
RFC 112 RFC 2014-06-09 ~1 min read
github.com
Mod
## Summary Add syntax sugar for importing a module and items in that module in a single view item. ## Motivation Make use clauses more concise. ## Detailed design The `mod` keyword may be used in a braced list of modules in a `use` item to...
RFC 168 RFC 2014-06-06 ~1 min read
github.com
## Summary Rust currently forbids pattern guards on match arms with move-bound variables. Allowing them would increase the applicability of pattern guards. ## Motivation Currently, if you attempt to use guards on a match arm with a move-bou...
RFC 107 RFC 2014-06-05 ~3 min read
github.com
## Summary Add a `partial_cmp` method to `PartialOrd`, analogous to `cmp` in `Ord`. ## Motivation The `Ord::cmp` method is useful when working with ordered values. When the exact ordering relationship between two values is required, `cmp` i...
RFC 100 RFC 2014-06-01 ~2 min read
github.com
## Summary Allow users to load custom lints into `rustc`, similar to loadable syntax extensions. ## Motivation There are many possibilities for user-defined static checking: * Enforcing correct usage of Servo's [JS-managed pointers](https:/...
RFC 89 RFC 2014-05-23 ~4 min read
github.com
## Summary Simplify Rust's lexical syntax to make tooling easier to use and easier to define. ## Motivation Rust's lexer does a lot of work. It un-escapes escape sequences in string and character literals, and parses numeric literals of 4 d...
RFC 90 RFC 2014-05-23 ~3 min read
github.com
## Summary Generalize the `#[macro_registrar]` feature so it can register other kinds of compiler plugins. ## Motivation I want to implement [loadable lints](https://github.com/mozilla/rust/issues/14067) and use them for project-specific st...
RFC 86 RFC 2014-05-22 ~1 min read
github.com
## Summary Bounds on trait objects should be separated with `+`. ## Motivation With DST there is an ambiguity between the following two forms: trait X { fn f(foo: b); } and trait X { fn f(Trait: Share); } See Rust issue #12778 for details....
RFC 87 RFC 2014-05-22 ~1 min read
github.com
## Summary Allow macro expansion in patterns, i.e. ~~~ .rs match x { my_macro!() => 1, _ => 2, } ~~~ ## Motivation This is consistent with allowing macros in expressions etc. It's also a year-old [open issue](https://github.com/mozilla/rust...
RFC 85 RFC 2014-05-21 ~1 min read
github.com
## Summary Leave structs with unspecified layout by default like enums, for optimisation purposes. Use something like `#[repr(C)]` to expose C compatible layout. ## Motivation The members of a struct are always laid in memory in the order i...
RFC 79 RFC 2014-05-17 ~3 min read
github.com
## Summary Allow block expressions in statics, as long as they only contain items and a trailing const expression. Example: ```rust static FOO: uint = { 100 }; static BAR: fn() -> int = { fn hidden() -> int { 42 } hidden }; ``` ## Motivatio...
RFC 71 RFC 2014-05-07 ~2 min read
github.com
## Summary Add ASCII byte literals and ASCII byte string literals to the language, similar to the existing (Unicode) character and string literals. Before the RFC process was in place, this was discussed in [#4334](https://github.com/mozill...
RFC 69 RFC 2014-05-05 ~2 min read
github.com
## Summary Temporaries live for the enclosing block when found in a let-binding. This only holds when the reference to the temporary is taken directly. This logic should be extended to extend the cleanup scope of any temporary whose lifetim...
RFC 66 RFC 2014-05-04 ~1 min read
github.com
## Summary The rules about the places `mod foo;` can be used are tightened to only permit its use in a crate root and in `mod.rs` files, to ensure a more sane correspondence between module structure and file system hierarchy. Most notably,...
RFC 63 RFC 2014-05-02 ~1 min read
github.com
## Summary The tilde (`~`) operator and type construction do not support allocators and therefore should be removed in favor of the `box` keyword and a language item for the type. ## Motivation * There will be a unique pointer type in the s...
RFC 59 RFC 2014-04-30 ~1 min read
github.com
## Summary `StrBuf` should be renamed to `String`. ## Motivation Since `StrBuf` is so common, it would benefit from a more traditional name. ## Drawbacks It may be that `StrBuf` is a better name because it mirrors Java `StringBuilder` or C#...
RFC 60 RFC 2014-04-30 ~1 min read
github.com
## Summary Asserts are too expensive for release builds and mess up inlining. There must be a way to turn them off. I propose macros `debug_assert!` and `assert!`. For test cases, `assert!` should be used. ## Motivation Asserts are too expe...
RFC 50 RFC 2014-04-18 ~1 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.