//@ pp-exact #![feature(inline_const_pat)] #![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 const { #![rustc_dummy] } = #[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) {}