about summary refs log tree commit diff
path: root/tests/ui/mir/validate/noncleanup-cleanup.rs
blob: 3010a3804ce793878f090093b191f4186f86f67e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Check that validation rejects cleanup edge to a non-cleanup block.
//
//@ failure-status: 101
//@ dont-check-compiler-stderr

#![feature(custom_mir, core_intrinsics)]
extern crate core;
use core::intrinsics::mir::*;

#[custom_mir(dialect = "built")]
pub fn main() { //~ WARN function cannot return without recursing
    mir! {
        {
            Call(RET = main(), ReturnTo(block), UnwindCleanup(block)) //~ ERROR cleanuppad mismatch
        }
        block = {
            Return()
        }
    }
}