summaryrefslogtreecommitdiffstats
path: root/tests/ui/mir/validate/storage-live.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/mir/validate/storage-live.rs')
-rw-r--r--tests/ui/mir/validate/storage-live.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/mir/validate/storage-live.rs b/tests/ui/mir/validate/storage-live.rs
new file mode 100644
index 000000000..ed3c26ed6
--- /dev/null
+++ b/tests/ui/mir/validate/storage-live.rs
@@ -0,0 +1,30 @@
+// compile-flags: -Zvalidate-mir -Ztreat-err-as-bug
+// failure-status: 101
+// error-pattern: broken MIR in
+// error-pattern: StorageLive(_1) which already has storage here
+// normalize-stderr-test "note: .*\n\n" -> ""
+// normalize-stderr-test "thread 'rustc' panicked.*\n" -> ""
+// normalize-stderr-test "storage_live\[....\]" -> "storage_live[HASH]"
+// rustc-env:RUST_BACKTRACE=0
+
+#![feature(custom_mir, core_intrinsics)]
+
+extern crate core;
+use core::intrinsics::mir::*;
+use core::ptr::{addr_of, addr_of_mut};
+
+#[custom_mir(dialect = "built")]
+fn multiple_storage() {
+ mir!(
+ let a: usize;
+ {
+ StorageLive(a);
+ StorageLive(a);
+ Return()
+ }
+ )
+}
+
+fn main() {
+ multiple_storage()
+}