|  | //@ 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 | 
|  | }; | 
|  | } |