// Test that we don't ICE when trying to dump MIR for unusual item types and
// that we don't create filenames containing `<` and `>`
-// ignore-tidy-linelength
+
+// EMIT_MIR_FOR_EACH_BIT_WIDTH
struct A;
+// EMIT_MIR rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
impl A {
const ASSOCIATED_CONSTANT: i32 = 2;
}
// See #59021
+// EMIT_MIR rustc.Test-X-{{constructor}}.mir_map.0.mir
enum Test {
X(usize),
Y { a: usize },
}
+// EMIT_MIR rustc.E-V-{{constant}}.mir_map.0.mir
enum E {
V = 5,
}
fn main() {
let f = Test::X as fn(usize) -> Test;
+// EMIT_MIR rustc.ptr-drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
let v = Vec::<i32>::new();
}
-
-// END RUST SOURCE
-
-// START rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
-// bb0: {
-// _0 = const 2i32;
-// return;
-// }
-// bb1 (cleanup): {
-// resume;
-// }
-// END rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir
-
-// START rustc.E-V-{{constant}}.mir_map.0.mir
-// bb0: {
-// _0 = const 5isize;
-// return;
-// }
-// bb1 (cleanup): {
-// resume;
-// }
-// END rustc.E-V-{{constant}}.mir_map.0.mir
-
-// START rustc.ptr-drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
-// bb0: {
-// goto -> bb7;
-// }
-// bb1: {
-// return;
-// }
-// bb2 (cleanup): {
-// resume;
-// }
-// bb3: {
-// goto -> bb1;
-// }
-// bb4 (cleanup): {
-// goto -> bb2;
-// }
-// bb5 (cleanup): {
-// drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb4;
-// }
-// bb6: {
-// drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb4];
-// }
-// bb7: {
-// _2 = &mut (*_1);
-// _3 = const <std::vec::Vec<i32> as std::ops::Drop>::drop(move _2) -> [return: bb6, unwind: bb5];
-// }
-// END rustc.ptr-drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir
-
-// START rustc.Test-X-{{constructor}}.mir_map.0.mir
-// fn Test::X(_1: usize) -> Test {
-// let mut _0: Test;
-//
-// bb0: {
-// ((_0 as X).0: usize) = move _1;
-// discriminant(_0) = 0;
-// return;
-// }
-// }
-// END rustc.Test-X-{{constructor}}.mir_map.0.mir