   LL|       |#![allow(unused_assignments, unused_variables)]
   LL|       |
   LL|      1|fn main() {
   LL|      1|    let is_true = std::env::args().len() == 1;
   LL|      1|
   LL|      1|    let mut x = 0;
   LL|     11|    for _ in 0..10 {
   LL|     10|        match is_true {
   LL|       |            true => {
   LL|     10|                continue;
   LL|       |            }
   LL|      0|            _ => {
   LL|      0|                x = 1;
   LL|      0|            }
   LL|      0|        }
   LL|      0|        x = 3;
   LL|       |    }
   LL|     11|    for _ in 0..10 {
   LL|     10|        match is_true {
   LL|      0|            false => {
   LL|      0|                x = 1;
   LL|      0|            }
   LL|       |            _ => {
   LL|     10|                continue;
   LL|       |            }
   LL|       |        }
   LL|      0|        x = 3;
   LL|       |    }
   LL|     11|    for _ in 0..10 {
   LL|     10|        match is_true {
   LL|     10|            true => {
   LL|     10|                x = 1;
   LL|     10|            }
   LL|       |            _ => {
   LL|      0|                continue;
   LL|       |            }
   LL|       |        }
   LL|     10|        x = 3;
   LL|       |    }
   LL|     11|    for _ in 0..10 {
   LL|     10|        if is_true {
   LL|     10|            continue;
   LL|      0|        }
   LL|      0|        x = 3;
   LL|       |    }
   LL|     11|    for _ in 0..10 {
   LL|     10|        match is_true {
   LL|      0|            false => {
   LL|      0|                x = 1;
   LL|      0|            }
   LL|     10|            _ => {
   LL|     10|                let _ = x;
   LL|     10|            }
   LL|       |        }
   LL|     10|        x = 3;
   LL|       |    }
   LL|      1|    for _ in 0..10 {
   LL|      1|        match is_true {
   LL|      0|            false => {
   LL|      0|                x = 1;
   LL|      0|            }
   LL|       |            _ => {
   LL|      1|                break;
   LL|       |            }
   LL|       |        }
   LL|      0|        x = 3;
   LL|       |    }
   LL|      1|    let _ = x;
   LL|      1|}

