summaryrefslogtreecommitdiffstats
path: root/tests/coverage/simple_loop.coverage
blob: 691c6cd1e7dda7164aeb77846ae18da043952419 (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
   LL|       |#![allow(unused_assignments)]
   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|
   LL|      1|    if
   LL|      1|        is_true
   LL|      1|    {
   LL|      1|        countdown
   LL|      1|        =
   LL|      1|            10
   LL|      1|        ;
   LL|      1|    }
                   ^0
   LL|       |
   LL|       |    loop
   LL|       |    {
   LL|       |        if
   LL|     11|            countdown
   LL|     11|                ==
   LL|     11|            0
   LL|       |        {
   LL|      1|            break
   LL|       |            ;
   LL|     10|        }
   LL|     10|        countdown
   LL|     10|        -=
   LL|     10|        1
   LL|       |        ;
   LL|       |    }
   LL|      1|}