summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/no_drop_for_inactive_variant.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/mir-opt/no_drop_for_inactive_variant.rs')
-rw-r--r--src/test/mir-opt/no_drop_for_inactive_variant.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/mir-opt/no_drop_for_inactive_variant.rs b/src/test/mir-opt/no_drop_for_inactive_variant.rs
new file mode 100644
index 000000000..34e2b1a13
--- /dev/null
+++ b/src/test/mir-opt/no_drop_for_inactive_variant.rs
@@ -0,0 +1,16 @@
+// ignore-wasm32-bare compiled with panic=abort by default
+
+// Ensure that there are no drop terminators in `unwrap<T>` (except the one along the cleanup
+// path).
+
+// EMIT_MIR no_drop_for_inactive_variant.unwrap.SimplifyCfg-elaborate-drops.after.mir
+fn unwrap<T>(opt: Option<T>) -> T {
+ match opt {
+ Some(x) => x,
+ None => panic!(),
+ }
+}
+
+fn main() {
+ let _ = unwrap(Some(1i32));
+}