// Created on savesnippets.com ยท https://savesnippets.com/uYTGeA5uU7MtUg fn main() { let some_value = Some(42); // Instead of full match: if let Some(n) = some_value { println!("got {n}"); } else { println!("nothing"); } // Drain a stack until empty let mut stack = vec![1, 2, 3, 4, 5]; while let Some(top) = stack.pop() { println!("popped {top}"); } // Combined with let-else (Rust 1.65+) for early-return shape fn parse_id(s: &str) -> Result { let Ok(n) = s.parse::() else { return Err(format!("not a number: {s}")); }; Ok(n + 1) } println!("{:?}", parse_id("9")); // Ok(10) println!("{:?}", parse_id("xyz")); // Err("not a number: xyz") }