summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/uninhabited-const-issue-61744.rs
blob: 860628c39c371a5d8f580809f14b72a632a2c882 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// build-fail

pub const unsafe fn fake_type<T>() -> T {
    hint_unreachable() //~ ERROR any use of this value will cause an error [const_err]
    //~| WARN this was previously accepted by the compiler but is being phased out
}

pub const unsafe fn hint_unreachable() -> ! {
    fake_type()
}

trait Const {
    const CONSTANT: i32 = unsafe { fake_type() };
}

impl<T> Const for T {}

pub fn main() -> () {
    dbg!(i32::CONSTANT); //~ ERROR erroneous constant used
}