]> git.lizzy.rs Git - rust.git/commitdiff
Add test for unnecessary panic branches
authorJonas Schievink <jonasschievink@gmail.com>
Sun, 8 Mar 2020 00:47:54 +0000 (01:47 +0100)
committerJonas Schievink <jonasschievink@gmail.com>
Sun, 8 Mar 2020 01:01:41 +0000 (02:01 +0100)
src/test/mir-opt/generator-tiny.rs [new file with mode: 0644]

diff --git a/src/test/mir-opt/generator-tiny.rs b/src/test/mir-opt/generator-tiny.rs
new file mode 100644 (file)
index 0000000..09e943b
--- /dev/null
@@ -0,0 +1,34 @@
+//! Tests that generators that cannot return or unwind don't have unnecessary
+//! panic branches.
+
+// compile-flags: -Zno-landing-pads
+
+#![feature(generators, generator_trait)]
+
+struct HasDrop;
+
+impl Drop for HasDrop {
+    fn drop(&mut self) {}
+}
+
+fn callee() {}
+
+fn main() {
+    let _gen = |_x: u8| {
+        let _d = HasDrop;
+        loop {
+            yield;
+            callee();
+        }
+    };
+}
+
+// END RUST SOURCE
+
+// START rustc.main-{{closure}}.generator_resume.0.mir
+// bb0: {
+//     ...
+//     switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6];
+// }
+// ...
+// END rustc.main-{{closure}}.generator_resume.0.mir