| 1| |#![allow(unused_assignments, unused_variables)] | |
| 2| | | |
| 3| 1|fn main() { | |
| 4| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure | |
| 5| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from | |
| 6| 1| // dependent conditions. | |
| 7| 1| let is_true = std::env::args().len() == 1; | |
| 8| 1| | |
| 9| 1| let (mut a, mut b, mut c) = (0, 0, 0); | |
| 10| 1| if is_true { | |
| 11| 1| a = 1; | |
| 12| 1| b = 10; | |
| 13| 1| c = 100; | |
| 14| 1| } | |
| ^0 | |
| 15| | let | |
| 16| 1| somebool | |
| 17| | = | |
| 18| 1| a < b | |
| 19| | || | |
| 20| 0| b < c | |
| 21| | ; | |
| 22| | let | |
| 23| 1| somebool | |
| 24| | = | |
| 25| 1| b < a | |
| 26| | || | |
| 27| 1| b < c | |
| 28| | ; | |
| 29| 1| let somebool = a < b && b < c; | |
| 30| 1| let somebool = b < a && b < c; | |
| ^0 | |
| 31| | | |
| 32| | if | |
| 33| 1| ! | |
| 34| 1| is_true | |
| 35| 0| { | |
| 36| 0| a = 2 | |
| 37| 0| ; | |
| 38| 1| } | |
| 39| | | |
| 40| | if | |
| 41| 1| is_true | |
| 42| 1| { | |
| 43| 1| b = 30 | |
| 44| 1| ; | |
| 45| 1| } | |
| 46| | else | |
| 47| 0| { | |
| 48| 0| c = 400 | |
| 49| 0| ; | |
| 50| 0| } | |
| 51| | | |
| 52| 1| if !is_true { | |
| 53| 0| a = 2; | |
| 54| 1| } | |
| 55| | | |
| 56| 1| if is_true { | |
| 57| 1| b = 30; | |
| 58| 1| } else { | |
| 59| 0| c = 400; | |
| 60| 0| } | |
| 61| 1|} | |