Rust programs use pattern matching extensively to deconstruct values, whether using match, if let, or deconstructing let patterns. Tuples can be deconstructed as you might expect using match
fn foo(x: (&str, isize, bool)) {
match x {
(_, 42, _) => println!("it's 42"),...