forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathholes.coverage
101 lines (100 loc) · 2.97 KB
/
holes.coverage
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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| 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|
LL| 1| // This tests the edge case of a const block nested inside an "anon const",
LL| 1| // such as the length of an array literal. Handling this case requires
LL| 1| // `nested_filter::OnlyBodies` or equivalent.
LL| 1| #[rustfmt::skip]
LL| 1| let _const_block_inside_anon_const =
LL| 1| [
LL| 1| 0
LL| 1| ;
LL| 1| 7
LL| 1| +
LL| 1| const
LL| | {
LL| | 3
LL| 1| }
LL| 1| ]
LL| 1| ;
LL| 1|
LL| 1| black_box(());
LL| 1|}