rust/tests/ui/mir/lint/no-storage.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

31 lines
676 B
Rust
Raw Normal View History

//@ compile-flags: -Zlint-mir --crate-type=lib -Ztreat-err-as-bug
//@ failure-status: 101
//@ dont-check-compiler-stderr
//@ regex-error-pattern: use of local .*, which has no storage here
#![feature(custom_mir, core_intrinsics)]
extern crate core;
use core::intrinsics::mir::*;
#[custom_mir(dialect = "built")]
pub fn f(a: bool) {
mir!(
let b: ();
{
match a { true => bb1, _ => bb2 }
}
bb1 = {
StorageLive(b);
Goto(bb3)
}
bb2 = {
Goto(bb3)
}
bb3 = {
b = ();
RET = b;
StorageDead(b);
Return()
}
)
}