| //@ edition: 2021 | |
| // Nested items/closures should be treated as "holes", so that their spans are | |
| // not displayed as executable code in the enclosing function. | |
| use core::hint::black_box; | |
| fn main() { | |
| black_box(()); | |
| static MY_STATIC: () = (); | |
| black_box(()); | |
| const MY_CONST: () = (); | |
| // Splitting this across multiple lines makes it easier to see where the | |
| // coverage mapping regions begin and end. | |
| #[rustfmt::skip] | |
| let _closure = | |
| | | |
| _arg: (), | |
| | | |
| { | |
| black_box(()); | |
| } | |
| ; | |
| black_box(()); | |
| fn _unused_fn() {} | |
| black_box(()); | |
| struct MyStruct { | |
| _x: u32, | |
| _y: u32, | |
| } | |
| black_box(()); | |
| impl MyStruct { | |
| fn _method(&self) {} | |
| } | |
| black_box(()); | |
| trait MyTrait {} | |
| black_box(()); | |
| impl MyTrait for MyStruct {} | |
| black_box(()); | |
| macro_rules! _my_macro { | |
| () => {}; | |
| } | |
| black_box(()); | |
| #[rustfmt::skip] | |
| let _const = | |
| const | |
| { | |
| 7 + 4 | |
| } | |
| ; | |
| black_box(()); | |
| #[rustfmt::skip] | |
| let _async = | |
| async | |
| { | |
| 7 + 4 | |
| } | |
| ; | |
| black_box(()); | |
| // This tests the edge case of a const block nested inside an "anon const", | |
| // such as the length of an array literal. Handling this case requires | |
| // `nested_filter::OnlyBodies` or equivalent. | |
| #[rustfmt::skip] | |
| let _const_block_inside_anon_const = | |
| [ | |
| 0 | |
| ; | |
| 7 | |
| + | |
| const | |
| { | |
| 3 | |
| } | |
| ] | |
| ; | |
| black_box(()); | |
| } |