Rust Search

Find the best content on Rust, curated by the community; a search engine for Rustaceans.
rust-lang.github.io
...Adding this hint to enums will force downstream crates to add a wildcard arm to match statements, ensuring that adding new variants is not a breaking change. Adding this hint to structs or enum variants will prevent downstream crates from constructing or exhaustively matching, to ensure that adding new fields...
Updates from Rust Core 2017-11-07 ~12 min read
doc.rust-lang.org
...u32) -> List { // `Cons` also has type List Cons(elem, Box::new(self)) } // Return the length of the list fn len(&self) -> u32 { // `self` has to be matched, because the behavior of this method // depends on the variant of `self` // `self` has type `&List`, and `*self` has type `List`, matching on...
Rust by Example Book 2024-01-01 ~1 min read
doc.rust-lang.org
...Food) -> Option<Food> { match food { Food::CordonBleu => None, _ => Some(food), } } // To make a dish, we need both the recipe and the ingredients. // We can represent the logic with a chain of `match`es: fn cookable_v1(food: Food) -> Option<Food> { match have_recipe(food) { None => None, Some(food) => have_ingredients...
Rust by Example Book 2024-01-01 ~1 min read
rustc-dev-guide.rust-lang.org
...If you'd like to avoid whitespace normalization and / or if you'd like to match with a regex, use matchesraw instead. matches Usage: //@ matches PATH XPATH PATTERN Checks that the text of each element / attribute / text selected by XPATH in the file given by PATH matches the Python-flavored...
Guide to Rustc Development Book 2024-01-01 ~5 min read
aldaronlau.com
...Match Statements Match statements are my favorite feature of Rust (by far). Doesn't mean they can't be improved though. Someone who is unfamiliar with Rust might write: fn main() { let mut a = 4; match 5 { a => unreachable!(), b => println!("{}", b), } } This code panics (which I still get confused...
Call for Blog Posts 2020-09-30 ~8 min read
doc.rust-lang.org
...let [[x]] = &[&mut [()]]; // x: &() Patterns such as this are said to be using match ergonomics, originally introduced in RFC 2005. Under match ergonomics, as we incrementally match a pattern against a scrutinee, we keep track of the default binding mode. This mode can be one of move, ref mut, or...
The Rust Edition Guide Book 2024-01-01 ~4 min read
rust-analyzer.github.io
...in "Implement default members" and "Convert #[derive] to manual impl". #15376 make "Convert match to matches!" assist trigger on non-literal bool arms. #15345 don’t provide add_missing_match_arms assist when up-mapping match arm list failed. #15397 remove unwraps from "Generate delegate trait". #15406 don’t provide...
Project/Tooling Updates 2023-08-09 ~1 min read
doc.rust-lang.org
...rust 1.65 🛈 you can target specific edition by compiling like this rustc --edition=2021 main.rs With let-else, a refutable pattern can match and bind variables in the surrounding scope like a normal let, or else diverge (e.g. break, return, panic!) when the pattern doesn't...
Rust by Example Book 2024-01-01 ~1 min read
doc.rust-lang.org
...In the example below, the straightforward match statement leads to code that is overall more cumbersome. use std::num::ParseIntError; // With the return type rewritten, we use pattern matching without `unwrap()`. fn multiply(first_number_str: &str, second_number_str: &str) -> Result<i32, ParseIntError> { match first_number_str.parse::<i32...
Rust by Example Book 2024-01-01 ~1 min read
github.com
...Adding this hint to enums will force downstream crates to add a wildcard arm to `match` statements, ensuring that adding new variants is not a breaking change. Adding this hint to structs or enum variants will prevent downstream crates from constructing or exhaustively matching, to ensure that adding new fields...
RFC 2008 RFC 2017-05-24 ~12 min read
dev.to
...When you press Enter, matching lines go to stdout. Non-TTY stdout skips the TUI entirely, so it composes in pipelines. The --json <PATH> flag extracts a specific field from JSONL records before matching — useful when you want to filter by message content without the pattern accidentally matching timestamps or...
Project/Tooling Updates 2026-05-27 ~4 min read
hovinen.me
...I have extended the shorthand syntax for matching against containers in the verify_that! macro and friends to other macro-based matchers, such as matches_pattern!. So one can write things like: matches_pattern!(MyStruct { a_vec: [eq(1), eq(2), eq(3)] }) The type alias Result is now called...
Project/Tooling Updates 2026-07-01 ~12 min read
doc.rust-lang.org
Guards A match guard can be added to filter the arm. #[allow(dead_code)] enum Temperature { Celsius(i32), Fahrenheit(i32), } fn main() { let temperature = Temperature::Celsius(35); // ^ TODO try different values for `temperature` match temperature { Temperature::Celsius(t) if t > 30 => println!("{}C is above 30 Celsius", t), // The `if...
Rust by Example Book 2024-01-01 ~1 min read
audunhalland.github.io
...The macro is called matching!: matching!(1, "2", 3.0) It basically expands to a pattern match on the arguments, along with useful diagnostics in the case of an unsuccessful match. Every string literal is matched using AsRef<str>. The input matching was not the hardest part to design. Now...
Rust Walkthroughs 2023-04-12 ~14 min read
conradludgate.com
...Notice we no longer can use &self.xxx in our field args, instead we need to use the values from the match arms. Pattern matching So, a neat thing of rust is that you can use patterns outside of match statements. Take a look at this Now, wouldn't you...
Rust Walkthroughs 2022-06-08 ~4 min read
llogiq.github.io
...FnOnce(PathElems) -> T function, which I will use to match the path. Since I suspect this is something we intend to do in other lints, too, I’m going to put this matching function in utils.rs as fn match_def_path(cx: Context, def_id: DefId, path: &[&str]) -> bool...
Notable Links 2015-06-07 ~15 min read
kivooeo.github.io
...Some(vec![]), }; let x = Some(42); match x { Some(x) if let A { related_points, .. } = a && let Some(points) = related_points => points.len() _ => 1, }; } So, currently you are forced to write a block like this match x { Some(x) => { if let A { related_points, .. } = a && let Some(points) = related_points...
Observations/Thoughts 2026-01-28 ~10 min read
github.com
...MyUnion) { unsafe { match u { MyUnion { f1: 10 } => { println!("ten"); } MyUnion { f2 } => { println!("{}", f2); } } } } ``` Matching a specific value from a union field makes a refutable pattern; naming a union field without matching a specific value makes an irrefutable pattern. Both require unsafe code. Pattern matching may match a union as a...
RFC 1444 RFC 2015-12-29 ~12 min read
matklad.github.io
...char) -> ((), u8) { match op { '+' | '-' => ((), 5), _ => panic!("bad op: {:?}", op), } } fn postfix_binding_power(op: char) -> Option<(u8, ())> { let res = match op { '!' => (7, ()), _ => return None, }; Some(res) } fn infix_binding_power(op: char) -> (u8, u8) { match op { '+' | '-' => (1, 2), '*' | '/' => (3, 4), '.' => (10, 9), _ => panic!("bad op: {:?}"), } } #[test] fn tests() { let s...
News & Blog Posts 2020-04-14 ~22 min read
kevinlynagh.com
...The match code is 5 instructions longer than the lookup code — that’d explain things if match were consistently slower than lookup, but that’s not the case — match is only slower in the “mix with rotate” task for 4 and 8 letter alphabets. It’s also worth noting that...
News & Blog Posts 2019-01-29 ~25 min read
"imo: the opinionated version of mio"

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.
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.