- // 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 ExpressionId(0) => Expression { lhs: Counter(0), op: Add, rhs: Counter(1) }; + coverage ExpressionId(1) => Expression { lhs: Expression(0), op: Subtract, rhs: Counter(1) }; + coverage Counter(0) => /the/src/instrument_coverage.rs:12:1 - 12:11; + coverage Expression(0) => /the/src/instrument_coverage.rs:13:5 - 14:17; + coverage Expression(1) => /the/src/instrument_coverage.rs:15:13 - 15:18; + coverage Expression(1) => /the/src/instrument_coverage.rs:18:1 - 18:2; + coverage Counter(1) => /the/src/instrument_coverage.rs:16:10 - 16:11; + bb0: { + Coverage::CounterIncrement(0); goto -> bb1; } bb1: { + Coverage::ExpressionUsed(0); falseUnwind -> [real: bb2, unwind: bb6]; } bb2: { StorageLive(_2); _2 = bar() -> [return: bb3, unwind: bb6]; } bb3: { switchInt(move _2) -> [0: bb5, otherwise: bb4]; } bb4: { + Coverage::ExpressionUsed(1); _0 = const (); StorageDead(_2); return; } bb5: { + Coverage::CounterIncrement(1); _1 = const (); StorageDead(_2); goto -> bb1; } bb6 (cleanup): { resume; } }