   LL|       |#![allow(unused_assignments, unused_variables)]
   LL|       |
   LL|       |#[rustfmt::skip]
   LL|      1|fn main() {
   LL|      1|    // Initialize test constants in a way that cannot be determined at compile time, to ensure
   LL|      1|    // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
   LL|      1|    // dependent conditions.
   LL|      1|    let is_true = std::env::args().len() == 1;
   LL|      1|
   LL|      1|    let mut countdown = 1;
   LL|      1|    if is_true {
   LL|      1|        countdown = 0;
   LL|      1|    }
                   ^0
   LL|       |
   LL|       |    for
   LL|       |        _
   LL|       |    in
   LL|      3|        0..2
   LL|       |    {
   LL|       |        let z
   LL|       |        ;
   LL|       |        match
   LL|      2|            countdown
   LL|       |        {
   LL|      1|            x
   LL|       |            if
   LL|      2|                x
   LL|      2|                    <
   LL|      2|                1
   LL|       |            =>
   LL|      1|            {
   LL|      1|                z = countdown
   LL|      1|                ;
   LL|      1|                let y = countdown
   LL|      1|                ;
   LL|      1|                countdown = 10
   LL|      1|                ;
   LL|      1|            }
   LL|       |            _
   LL|       |            =>
   LL|      1|            {}
   LL|       |        }
   LL|       |    }
   LL|      1|}

