1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
// 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;
}
}
|