mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	 4d5a1acebf
			
		
	
	
		4d5a1acebf
		
	
	
	
	
		
			
			This also removes some manipulation of the function signature span that only made sense in the context of merging non-adjacent spans.
		
			
				
	
	
		
			102 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|    LL|       |//@ edition: 2021
 | |
|    LL|       |
 | |
|    LL|       |// Nested items/closures should be treated as "holes", so that their spans are
 | |
|    LL|       |// not displayed as executable code in the enclosing function.
 | |
|    LL|       |
 | |
|    LL|       |use core::hint::black_box;
 | |
|    LL|       |
 | |
|    LL|      1|fn main() {
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    static MY_STATIC: () = ();
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    const MY_CONST: () = ();
 | |
|    LL|       |
 | |
|    LL|       |    // Splitting this across multiple lines makes it easier to see where the
 | |
|    LL|       |    // coverage mapping regions begin and end.
 | |
|    LL|       |    #[rustfmt::skip]
 | |
|    LL|      1|    let _closure =
 | |
|    LL|       |        |
 | |
|    LL|       |            _arg: (),
 | |
|    LL|       |        |
 | |
|    LL|      0|        {
 | |
|    LL|      0|            black_box(());
 | |
|    LL|      0|        }
 | |
|    LL|       |        ;
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|      0|    fn _unused_fn() {}
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    struct MyStruct {
 | |
|    LL|       |        _x: u32,
 | |
|    LL|       |        _y: u32,
 | |
|    LL|       |    }
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    impl MyStruct {
 | |
|    LL|      0|        fn _method(&self) {}
 | |
|    LL|       |    }
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    trait MyTrait {}
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    impl MyTrait for MyStruct {}
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    macro_rules! _my_macro {
 | |
|    LL|       |        () => {};
 | |
|    LL|       |    }
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    #[rustfmt::skip]
 | |
|    LL|      1|    let _const =
 | |
|    LL|       |        const
 | |
|    LL|       |        {
 | |
|    LL|       |            7 + 4
 | |
|    LL|       |        }
 | |
|    LL|       |        ;
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    #[rustfmt::skip]
 | |
|    LL|      1|    let _async =
 | |
|    LL|       |        async
 | |
|    LL|      0|        {
 | |
|    LL|      0|            7 + 4
 | |
|    LL|      0|        }
 | |
|    LL|       |        ;
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|       |
 | |
|    LL|       |    // This tests the edge case of a const block nested inside an "anon const",
 | |
|    LL|       |    // such as the length of an array literal. Handling this case requires
 | |
|    LL|       |    // `nested_filter::OnlyBodies` or equivalent.
 | |
|    LL|       |    #[rustfmt::skip]
 | |
|    LL|      1|    let _const_block_inside_anon_const =
 | |
|    LL|       |        [
 | |
|    LL|       |            0
 | |
|    LL|       |            ;
 | |
|    LL|       |            7
 | |
|    LL|       |            +
 | |
|    LL|       |            const
 | |
|    LL|       |            {
 | |
|    LL|       |                3
 | |
|    LL|       |            }
 | |
|    LL|       |        ]
 | |
|    LL|       |        ;
 | |
|    LL|       |
 | |
|    LL|      1|    black_box(());
 | |
|    LL|      1|}
 | |
| 
 |