- // MIR for `match_const_debug` before SingleUseConsts | |
+ // MIR for `match_const_debug` after SingleUseConsts | |
fn match_const_debug() -> &str { | |
let mut _0: &str; | |
let _1: i32; | |
let _2: (); | |
scope 1 { | |
- debug my_int => _1; | |
+ debug my_int => const <T as MyTrait>::ASSOC_INT; | |
} | |
bb0: { | |
StorageLive(_1); | |
- _1 = const <T as MyTrait>::ASSOC_INT; | |
+ nop; | |
StorageLive(_2); | |
_2 = do_whatever() -> [return: bb1, unwind continue]; | |
} | |
bb1: { | |
StorageDead(_2); | |
- switchInt(_1) -> [7: bb4, 42: bb3, otherwise: bb2]; | |
+ switchInt(const <T as MyTrait>::ASSOC_INT) -> [7: bb4, 42: bb3, otherwise: bb2]; | |
} | |
bb2: { | |
_0 = const "world"; | |
goto -> bb5; | |
} | |
bb3: { | |
_0 = const "towel"; | |
goto -> bb5; | |
} | |
bb4: { | |
_0 = const "hello"; | |
goto -> bb5; | |
} | |
bb5: { | |
StorageDead(_1); | |
return; | |
} | |
} | |