- // MIR for `main` before InstrumentCoverage + // MIR for `main` after InstrumentCoverage fn main() -> () { let mut _0: (); let mut _1: (); let mut _2: bool; let mut _3: !; + coverage body span: $DIR/instrument_coverage.rs:14:11: 20:2 (#0) + coverage ExpressionId(0) => Expression { lhs: Counter(1), op: Subtract, rhs: Counter(0) }; + coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:14:1: 14:11 (#0); + coverage Code(Counter(1)) => $DIR/instrument_coverage.rs:16:12: 16:17 (#0); + coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:17:13: 17:18 (#0); + coverage Code(Expression(0)) => $DIR/instrument_coverage.rs:18:10: 18:10 (#0); + coverage Code(Counter(0)) => $DIR/instrument_coverage.rs:20:2: 20:2 (#0); + bb0: { + Coverage::CounterIncrement(0); goto -> bb1; } bb1: { + Coverage::CounterIncrement(1); falseUnwind -> [real: bb2, unwind: bb6]; } bb2: { StorageLive(_2); _2 = bar() -> [return: bb3, unwind: bb6]; } bb3: { switchInt(move _2) -> [0: bb5, otherwise: bb4]; } bb4: { _0 = const (); StorageDead(_2); return; } bb5: { + Coverage::ExpressionUsed(0); _1 = const (); StorageDead(_2); goto -> bb1; } bb6 (cleanup): { resume; } }