ensure that statics are inhabited
This commit is contained in:
parent
2e8a54af60
commit
1333206eb3
4 changed files with 114 additions and 6 deletions
12
src/test/ui/statics/uninhabited-static.rs
Normal file
12
src/test/ui/statics/uninhabited-static.rs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#![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
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
27
src/test/ui/statics/uninhabited-static.stderr
Normal file
27
src/test/ui/statics/uninhabited-static.stderr
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
error: static of uninhabited type
|
||||
--> $DIR/uninhabited-static.rs:6:5
|
||||
|
|
||||
LL | static VOID: Void;
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/uninhabited-static.rs:2:9
|
||||
|
|
||||
LL | #![deny(uninhabited_static)]
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #74840 <https://github.com/rust-lang/rust/issues/74840>
|
||||
= note: uninhabited statics cannot be initialized, and any access would be an immediate error
|
||||
|
||||
error: static of uninhabited type
|
||||
--> $DIR/uninhabited-static.rs:8:5
|
||||
|
|
||||
LL | static NEVER: !;
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #74840 <https://github.com/rust-lang/rust/issues/74840>
|
||||
= note: uninhabited statics cannot be initialized, and any access would be an immediate error
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue