Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
## Summary Rename the `Share` trait to `Sync` ## Motivation With interior mutability, the name "immutable pointer" for a value of type `&T` is not quite accurate. Instead, the term "shared reference" is becoming popular to reference values...
github.com RFC 123 RFC 2014-06-15 ~1 min read
## Summary Remove or feature gate the shadowing of view items on the same scope level, in order to have less complicated semantic and be more future proof for module system changes or experiments. This means the names brought in scope by `e...
github.com RFC 116 RFC 2014-06-12 ~6 min read
## Summary Currently we use inference to find the current type of otherwise-unannotated integer literals, and when that fails the type defaults to `int`. This is often felt to be potentially error-prone behavior. This proposal removes the i...
github.com RFC 115 RFC 2014-06-11 ~1 min read
## Summary Rename `*T` to `*const T`, retain all other semantics of unsafe pointers. ## Motivation Currently the `T*` type in C is equivalent to `*mut T` in Rust, and the `const T*` type in C is equivalent to the `*T` type in Rust. Noticeab...
github.com RFC 68 RFC 2014-06-11 ~5 min read
## 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...
github.com RFC 93 RFC 2014-06-10 ~3 min read
## 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...
github.com RFC 92 RFC 2014-06-10 ~3 min read
## Summary Cleanup the trait, method, and operator semantics so that they are well-defined and cover more use cases. A high-level summary of the changes is as follows: 1. Generalize explicit self types beyond `&self` and `&mut self` etc, so...
github.com RFC 48 RFC 2014-06-10 ~23 min read
## 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...
github.com RFC 112 RFC 2014-06-09 ~1 min read
## 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...
github.com RFC 111 RFC 2014-06-09 ~1 min read
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...
github.com RFC 168 RFC 2014-06-06 ~1 min read
## 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...
github.com RFC 107 RFC 2014-06-05 ~3 min read
## 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...
github.com RFC 100 RFC 2014-06-01 ~2 min read
## 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...
github.com RFC 90 RFC 2014-05-23 ~3 min read
## 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:/...
github.com RFC 89 RFC 2014-05-23 ~4 min read
## 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....
github.com RFC 87 RFC 2014-05-22 ~1 min read
## 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...
github.com RFC 86 RFC 2014-05-22 ~1 min read
## 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...
github.com RFC 85 RFC 2014-05-21 ~1 min read
## 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...
github.com RFC 79 RFC 2014-05-17 ~3 min read
## 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...
github.com RFC 71 RFC 2014-05-07 ~2 min read
## 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...
github.com RFC 69 RFC 2014-05-05 ~2 min read
"Think of "it works" when you have UB like this: You've flipped a coin 1 time and it's come up heads and you've concluded it's never tails."
— @mirashii on the community discord

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.