forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathif_else.coverage
42 lines (41 loc) · 1.29 KB
/
if_else.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
LL| |#![allow(unused_assignments, unused_variables)]
LL| |
LL| |#[rustfmt::skip]
LL| 1|fn main() {
LL| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure
LL| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
LL| 1| // dependent conditions.
LL| 1| let is_true = std::env::args().len() == 1;
LL| 1|
LL| 1| let mut countdown = 0;
LL| 1| if
LL| 1| is_true
LL| 1| {
LL| 1| countdown
LL| 1| =
LL| 1| 10
LL| 1| ;
LL| 1| }
LL| | else // Note coverage region difference without semicolon
LL| | {
LL| 0| countdown
LL| 0| =
LL| 0| 100
LL| | }
LL| |
LL| | if
LL| 1| is_true
LL| 1| {
LL| 1| countdown
LL| 1| =
LL| 1| 10
LL| 1| ;
LL| 1| }
LL| | else
LL| 0| {
LL| 0| countdown
LL| 0| =
LL| 0| 100
LL| 0| ;
LL| 0| }
LL| 1|}