blob: cdf04de19e5236d7c49bf0f657822ea574cd4fe8 [file] [log] [blame]
// check-pass
#![crate_type="lib"]
#![allow(dead_code)]
#![allow(unreachable_code)]
#![allow(unused_variables)]
struct Foo;
pub fn f(x: !) -> ! {
x
}
pub fn ub() {
// This is completely undefined behaviour,
// but we still want to make sure it compiles.
let x: ! = unsafe {
std::mem::transmute::<Foo, !>(Foo)
};
f(x)
}