| //@ pp-exact | 
 |  | 
 | #![feature(rustc_attrs)] | 
 | #![feature(stmt_expr_attributes)] | 
 |  | 
 | fn main() {} | 
 |  | 
 | fn _0() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     foo(); | 
 | } | 
 |  | 
 | fn _1() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     unsafe { | 
 |         #![rustc_dummy] | 
 |         // code | 
 |     } | 
 | } | 
 |  | 
 | fn _2() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     { foo(); } | 
 |  | 
 |     { | 
 |         #![rustc_dummy] | 
 |  | 
 |         foo() | 
 |     } | 
 | } | 
 |  | 
 | fn _3() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     match () { _ => {} } | 
 | } | 
 |  | 
 | fn _4() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     match () { | 
 |         #![rustc_dummy] | 
 |         _ => (), | 
 |     } | 
 |  | 
 |     let _ = | 
 |         #[rustc_dummy] match () { | 
 |             #![rustc_dummy] | 
 |             () => (), | 
 |         }; | 
 | } | 
 |  | 
 | fn _5() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     let x = 1; | 
 |  | 
 |     let x = #[rustc_dummy] 1; | 
 |  | 
 |     let y = (); | 
 |     let z = (); | 
 |  | 
 |     foo3(x, #[rustc_dummy] y, z); | 
 |  | 
 |     qux(3 + #[rustc_dummy] 2); | 
 | } | 
 |  | 
 | fn _6() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     [1, 2, 3]; | 
 |  | 
 |     let _ = #[rustc_dummy] [1, 2, 3]; | 
 |  | 
 |     #[rustc_dummy] | 
 |     [1; 4]; | 
 |  | 
 |     let _ = #[rustc_dummy] [1; 4]; | 
 | } | 
 |  | 
 | struct Foo { | 
 |     data: (), | 
 | } | 
 |  | 
 | struct Bar(()); | 
 |  | 
 | fn _7() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     Foo { data: () }; | 
 |  | 
 |     let _ = #[rustc_dummy] Foo { data: () }; | 
 | } | 
 |  | 
 | fn _8() { | 
 |  | 
 |     #[rustc_dummy] | 
 |     (); | 
 |  | 
 |     #[rustc_dummy] | 
 |     (0); | 
 |  | 
 |     #[rustc_dummy] | 
 |     (0,); | 
 |  | 
 |     #[rustc_dummy] | 
 |     (0, 1); | 
 | } | 
 |  | 
 | fn _9() { | 
 |     macro_rules! stmt_mac { () => { let _ = (); } } | 
 |  | 
 |     #[rustc_dummy] | 
 |     stmt_mac!(); | 
 |  | 
 |     #[rustc_dummy] | 
 |     stmt_mac! {}; | 
 |  | 
 |     #[rustc_dummy] | 
 |     stmt_mac![]; | 
 |  | 
 |     #[rustc_dummy] | 
 |     stmt_mac! {} | 
 |  | 
 |     let _ = (); | 
 | } | 
 |  | 
 | macro_rules! expr_mac { () => { () } } | 
 |  | 
 | fn _10() { | 
 |     let _ = #[rustc_dummy] expr_mac!(); | 
 |     let _ = #[rustc_dummy] expr_mac![]; | 
 |     let _ = #[rustc_dummy] expr_mac! {}; | 
 | } | 
 |  | 
 | fn _11() { | 
 |     let _: [(); 0] = #[rustc_dummy] []; | 
 |     let _ = #[rustc_dummy] [0, 0]; | 
 |     let _ = #[rustc_dummy] [0; 0]; | 
 |     let _ = #[rustc_dummy] foo(); | 
 |     let _ = #[rustc_dummy] 1i32.clone(); | 
 |     let _ = #[rustc_dummy] (); | 
 |     let _ = #[rustc_dummy] (0); | 
 |     let _ = #[rustc_dummy] (0,); | 
 |     let _ = #[rustc_dummy] (0, 0); | 
 |     let _ = #[rustc_dummy] 0 + #[rustc_dummy] 0; | 
 |     let _ = #[rustc_dummy] !0; | 
 |     let _ = #[rustc_dummy] -0i32; | 
 |     let _ = #[rustc_dummy] false; | 
 |     let _ = #[rustc_dummy] 'c'; | 
 |     let _ = #[rustc_dummy] 0; | 
 |     let _ = #[rustc_dummy] 0 as usize; | 
 |     let _ = | 
 |         #[rustc_dummy] while false { | 
 |             #![rustc_dummy] | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] while let None = Some(()) { | 
 |             #![rustc_dummy] | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] for _ in 0..0 { | 
 |             #![rustc_dummy] | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] loop { | 
 |             #![rustc_dummy] | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] match false { | 
 |             #![rustc_dummy] | 
 |             _ => (), | 
 |         }; | 
 |     let _ = #[rustc_dummy] || #[rustc_dummy] (); | 
 |     let _ = #[rustc_dummy] move || #[rustc_dummy] (); | 
 |     let _ = | 
 |         #[rustc_dummy] || | 
 |             { | 
 |                 #![rustc_dummy] | 
 |                 #[rustc_dummy] | 
 |                 () | 
 |             }; | 
 |     let _ = | 
 |         #[rustc_dummy] move || | 
 |             { | 
 |                 #![rustc_dummy] | 
 |                 #[rustc_dummy] | 
 |                 () | 
 |             }; | 
 |     let _ = | 
 |         #[rustc_dummy] { | 
 |             #![rustc_dummy] | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] { | 
 |             #![rustc_dummy] | 
 |             let _ = (); | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] { | 
 |             #![rustc_dummy] | 
 |             let _ = (); | 
 |             () | 
 |         }; | 
 |     let _ = | 
 |         #[rustc_dummy] const { | 
 |                 #![rustc_dummy] | 
 |             }; | 
 |     let mut x = 0; | 
 |     let _ = #[rustc_dummy] x = 15; | 
 |     let _ = #[rustc_dummy] x += 15; | 
 |     let s = Foo { data: () }; | 
 |     let _ = #[rustc_dummy] s.data; | 
 |     let _ = (#[rustc_dummy] s).data; | 
 |     let t = Bar(()); | 
 |     let _ = #[rustc_dummy] t.0; | 
 |     let _ = (#[rustc_dummy] t).0; | 
 |     let v = vec!(0); | 
 |     let _ = #[rustc_dummy] v[0]; | 
 |     let _ = (#[rustc_dummy] v)[0]; | 
 |     let _ = #[rustc_dummy] 0..#[rustc_dummy] 0; | 
 |     let _ = #[rustc_dummy] 0..; | 
 |     let _ = #[rustc_dummy] (0..0); | 
 |     let _ = #[rustc_dummy] (0..); | 
 |     let _ = #[rustc_dummy] (..0); | 
 |     let _ = #[rustc_dummy] (..); | 
 |     let _: fn(&u32) -> u32 = #[rustc_dummy] std::clone::Clone::clone; | 
 |     let _ = #[rustc_dummy] &0; | 
 |     let _ = #[rustc_dummy] &mut 0; | 
 |     let _ = #[rustc_dummy] &#[rustc_dummy] 0; | 
 |     let _ = #[rustc_dummy] &mut #[rustc_dummy] 0; | 
 |     while false { let _ = #[rustc_dummy] continue; } | 
 |     while true { let _ = #[rustc_dummy] break; } | 
 |     || #[rustc_dummy] return; | 
 |     let _ = #[rustc_dummy] expr_mac!(); | 
 |     let _ = #[rustc_dummy] expr_mac![]; | 
 |     let _ = #[rustc_dummy] expr_mac! {}; | 
 |     let _ = #[rustc_dummy] Foo { data: () }; | 
 |     let _ = #[rustc_dummy] Foo { ..s }; | 
 |     let _ = #[rustc_dummy] Foo { data: (), ..s }; | 
 |     let _ = #[rustc_dummy] (0); | 
 | } | 
 |  | 
 | fn _12() { | 
 |     #[rustc_dummy] | 
 |     let _ = 0; | 
 |  | 
 |     #[rustc_dummy] | 
 |     0; | 
 |  | 
 |     #[rustc_dummy] | 
 |     expr_mac!(); | 
 |  | 
 |     #[rustc_dummy] | 
 |     { | 
 |         #![rustc_dummy] | 
 |     } | 
 | } | 
 |  | 
 | fn foo() {} | 
 | fn foo3(_: i32, _: (), _: ()) {} | 
 | fn qux(_: i32) {} |