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