blob: 8f14082ef6825a0c6a84a7f30e99988619535f1a (
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
|
LL| |#![allow(unused_assignments, unused_variables)]
LL| |
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 a, mut b, mut c) = (0, 0, 0);
LL| 1| if is_true {
LL| 1| a = 1;
LL| 1| b = 10;
LL| 1| c = 100;
LL| 1| }
^0
LL| | let
LL| 1| somebool
LL| | =
LL| 1| a < b
LL| | ||
LL| 0| b < c
LL| | ;
LL| | let
LL| 1| somebool
LL| | =
LL| 1| b < a
LL| | ||
LL| 1| b < c
LL| | ;
LL| 1| let somebool = a < b && b < c;
LL| 1| let somebool = b < a && b < c;
^0
LL| |
LL| | if
LL| | !
LL| 1| is_true
LL| 0| {
LL| 0| a = 2
LL| 0| ;
LL| 1| }
LL| |
LL| | if
LL| 1| is_true
LL| 1| {
LL| 1| b = 30
LL| 1| ;
LL| 1| }
LL| | else
LL| 0| {
LL| 0| c = 400
LL| 0| ;
LL| 0| }
LL| |
LL| 1| if !is_true {
LL| 0| a = 2;
LL| 1| }
LL| |
LL| 1| if is_true {
LL| 1| b = 30;
LL| 1| } else {
LL| 0| c = 400;
LL| 0| }
LL| 1|}
|