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|}