//@ run-rustfix #![deny(unused)] pub struct S { pub f1: i32, } pub struct Point { pub x: i32, pub y: i32, } pub enum E { Variant { field: String } } pub fn foo(arg: &E) { match arg { E::Variant { ref field } => (), //~ ERROR unused variable } } fn main() { let s = S { f1: 123 }; let S { ref f1 } = s; //~ ERROR unused variable let points = vec![Point { x: 1, y: 2 }]; let _: i32 = points.iter().map(|Point { x, y }| y).sum(); //~ ERROR unused variable match (Point { x: 1, y: 2 }) { Point { y, ref mut x } => y, //~ ERROR unused variable }; }