summaryrefslogtreecommitdiffstats
path: root/tests/coverage/if_else.coverage
blob: 0274401f0047c0ad8075e078548fcf62e1f36707 (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
   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 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|}