diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/statics/uninhabited-static.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/statics/uninhabited-static.rs b/src/test/ui/statics/uninhabited-static.rs new file mode 100644 index 000000000..f5c6f4443 --- /dev/null +++ b/src/test/ui/statics/uninhabited-static.rs @@ -0,0 +1,21 @@ +#![feature(never_type)] +#![deny(uninhabited_static)] + +enum Void {} +extern { + static VOID: Void; //~ ERROR static of uninhabited type + //~| WARN: previously accepted + static NEVER: !; //~ ERROR static of uninhabited type + //~| WARN: previously accepted +} + +static VOID2: Void = unsafe { std::mem::transmute(()) }; //~ ERROR static of uninhabited type +//~| WARN: previously accepted +//~| ERROR could not evaluate static initializer +//~| WARN: type `Void` does not permit zero-initialization +static NEVER2: Void = unsafe { std::mem::transmute(()) }; //~ ERROR static of uninhabited type +//~| WARN: previously accepted +//~| ERROR could not evaluate static initializer +//~| WARN: type `Void` does not permit zero-initialization + +fn main() {} |