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

