about summary refs log tree commit diff
path: root/tests/coverage/holes.rs
blob: b3a71e759c8306f48ad3a136af11561f4a99466a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//@ 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(());

    // 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(());

    macro_rules! _my_macro {
        () => {};
    }

    black_box(());

    #[rustfmt::skip]
    let _const =
        const
        {
            7 + 4
        }
        ;

    black_box(());

    #[rustfmt::skip]
    let _async =
        async
        {
            7 + 4
        }
        ;

    black_box(());
}