#![feature(generators, generator_trait)]
+// ignore-wasm32-bare compiled with panic=abort by default
+
// Regression test for #58892, generator drop shims should not have blocks
// spuriously marked as cleanup
+// EMIT_MIR rustc.main-{{closure}}.generator_drop.0.mir
fn main() {
let gen = || {
+ let _s = String::new();
yield;
};
}
-
-// END RUST SOURCE
-
-// START rustc.main-{{closure}}.generator_drop.0.mir
-// bb0: {
-// _7 = discriminant((*_1));
-// switchInt(move _7) -> [0u32: bb4, 3u32: bb7, otherwise: bb8];
-// }
-// bb1: {
-// StorageDead(_4);
-// StorageDead(_3);
-// goto -> bb5;
-// }
-// bb2: {
-// return;
-// }
-// bb3: {
-// return;
-// }
-// bb4: {
-// goto -> bb6;
-// }
-// bb5: {
-// goto -> bb2;
-// }
-// bb6: {
-// goto -> bb3;
-// }
-// bb7: {
-// StorageLive(_3);
-// StorageLive(_4);
-// goto -> bb1;
-// }
-// bb8: {
-// return;
-// }
-// END rustc.main-{{closure}}.generator_drop.0.mir