1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
//@ 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()
}
}
}
|