   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|      1|
   LL|      1|    // Splitting this across multiple lines makes it easier to see where the
   LL|      1|    // coverage mapping regions begin and end.
   LL|      1|    #[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|       |    macro_rules! _my_macro {
   LL|       |        () => {};
   LL|       |    }
   LL|       |
   LL|      1|    black_box(());
   LL|      1|
   LL|      1|    #[rustfmt::skip]
   LL|      1|    let _const =
   LL|       |        const
   LL|       |        {
   LL|       |            7 + 4
   LL|       |        }
   LL|       |        ;
   LL|       |
   LL|      1|    black_box(());
   LL|      1|
   LL|      1|    #[rustfmt::skip]
   LL|      1|    let _async =
   LL|       |        async
   LL|      0|        {
   LL|      0|            7 + 4
   LL|      0|        }
   LL|       |        ;
   LL|       |
   LL|      1|    black_box(());
   LL|      1|}

