blob: 5f899723e255467c407a637ee65789bda31058b2 [file] [log] [blame]
1| |#![allow(unused_assignments)]
2| |
3| |fn main() {
4| | // Initialize test constants in a way that cannot be determined at compile time, to ensure
5| | // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
6| | // dependent conditions.
7| 1| let is_true = std::env::args().len() == 1;
8| 1|
9| 1| let mut countdown = 0;
10| 1| if
11| 1| is_true
12| 1| {
13| 1| countdown
14| 1| =
15| 1| 10
16| 1| ;
17| 1| }
18| | else // Note coverage region difference without semicolon
19| | {
20| 0| countdown
21| 0| =
22| 0| 100
23| | }
24| |
25| | if
26| 1| is_true
27| 1| {
28| 1| countdown
29| 1| =
30| 1| 10
31| 1| ;
32| 1| }
33| | else
34| 0| {
35| 0| countdown
36| 0| =
37| 0| 100
38| 0| ;
39| 0| }
40| 1|}