]> git.proxmox.com Git - rustc.git/blame - src/test/ui/consts/const-eval/validate_uninhabited_zsts.rs
New upstream version 1.49.0+dfsg1
[rustc.git] / src / test / ui / consts / const-eval / validate_uninhabited_zsts.rs
CommitLineData
46de9a89 1#![feature(const_fn)]
72b1a166 2#![feature(const_fn_transmute)]
46de9a89
FG
3
4const fn foo() -> ! {
5 unsafe { std::mem::transmute(()) }
6 //~^ WARN any use of this value will cause an error [const_err]
7 //~| WARN the type `!` does not permit zero-initialization [invalid_value]
8}
9
10#[derive(Clone, Copy)]
11enum Empty { }
12
13#[warn(const_err)]
14const FOO: [Empty; 3] = [foo(); 3];
15
16#[warn(const_err)]
17const BAR: [Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
18//~^ ERROR it is undefined behavior to use this value
19//~| WARN the type `Empty` does not permit zero-initialization
20
21fn main() {
22 FOO;
23 BAR;
24}