mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 13:04:42 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ 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(());
 | |
| }
 | 
