| - // MIR for `test` before SimplifyComparisonIntegral |
| + // MIR for `test` after SimplifyComparisonIntegral |
| |
| fn test(_1: T) -> () { |
| debug x => _1; |
| let mut _0: (); |
| let _2: &[T]; |
| let _3: &[T; 3]; |
| let _4: [T; 3]; |
| let mut _5: usize; |
| let mut _6: bool; |
| let mut _10: !; |
| scope 1 { |
| debug v => _2; |
| let _7: &T; |
| let _8: &T; |
| let _9: &T; |
| scope 2 { |
| debug v1 => _7; |
| debug v2 => _8; |
| debug v3 => _9; |
| } |
| } |
| |
| bb0: { |
| StorageLive(_4); |
| _4 = [copy _1, copy _1, copy _1]; |
| _3 = &_4; |
| _2 = copy _3 as &[T] (PointerCoercion(Unsize, Implicit)); |
| nop; |
| nop; |
| goto -> bb2; |
| } |
| |
| bb1: { |
| _10 = core::panicking::panic(const "internal error: entered unreachable code") -> unwind continue; |
| } |
| |
| bb2: { |
| StorageLive(_7); |
| _7 = &(*_2)[0 of 3]; |
| StorageLive(_8); |
| _8 = &(*_2)[1 of 3]; |
| StorageLive(_9); |
| _9 = &(*_2)[2 of 3]; |
| StorageDead(_9); |
| StorageDead(_8); |
| StorageDead(_7); |
| StorageDead(_4); |
| return; |
| } |
| } |
| |
| ALLOC0 (size: 40, align: 1) { |
| 0x00 │ 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 │ internal error: |
| 0x10 │ 65 6e 74 65 72 65 64 20 75 6e 72 65 61 63 68 61 │ entered unreacha |
| 0x20 │ 62 6c 65 20 63 6f 64 65 │ ble code |
| } |
| |