mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +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(());
 | 
						|
}
 |