// MIR for `foo` after built | |
fn foo(_1: [(Never, u32); 1]) -> u32 { | |
debug xs => _1; | |
let mut _0: u32; | |
let _2: usize; | |
let mut _3: usize; | |
let mut _4: bool; | |
bb0: { | |
StorageLive(_2); | |
_2 = const 0_usize; | |
_3 = Len(_1); | |
_4 = Lt(copy _2, copy _3); | |
assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, copy _2) -> [success: bb1, unwind: bb2]; | |
} | |
bb1: { | |
_0 = copy (_1[_2].1: u32); | |
StorageDead(_2); | |
return; | |
} | |
bb2 (cleanup): { | |
resume; | |
} | |
} |