64cce5fc7d
Updates `interpret`, `codegen_ssa`, and `codegen_cranelift` to consume the new cast instead of the intrinsic. Includes `CastTransmute` for custom MIR building, to be able to test the extra UB.
86 lines
3.6 KiB
Plaintext
86 lines
3.6 KiB
Plaintext
error: static of uninhabited type
|
|
--> $DIR/uninhabited-static.rs:6:5
|
|
|
|
|
LL | static VOID: Void;
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
|
= 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
|
|
note: the lint level is defined here
|
|
--> $DIR/uninhabited-static.rs:2:9
|
|
|
|
|
LL | #![deny(uninhabited_static)]
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
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: static of uninhabited type
|
|
--> $DIR/uninhabited-static.rs:12:1
|
|
|
|
|
LL | static VOID2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= 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:16:1
|
|
|
|
|
LL | static NEVER2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= 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[E0080]: could not evaluate static initializer
|
|
--> $DIR/uninhabited-static.rs:12:31
|
|
|
|
|
LL | static VOID2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of uninhabited type Void
|
|
|
|
warning: the type `Void` does not permit zero-initialization
|
|
--> $DIR/uninhabited-static.rs:12:31
|
|
|
|
|
LL | static VOID2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
|
|
|
|
|
note: enums with no inhabited variants have no valid value
|
|
--> $DIR/uninhabited-static.rs:4:1
|
|
|
|
|
LL | enum Void {}
|
|
| ^^^^^^^^^
|
|
= note: `#[warn(invalid_value)]` on by default
|
|
|
|
error[E0080]: could not evaluate static initializer
|
|
--> $DIR/uninhabited-static.rs:16:32
|
|
|
|
|
LL | static NEVER2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of uninhabited type Void
|
|
|
|
warning: the type `Void` does not permit zero-initialization
|
|
--> $DIR/uninhabited-static.rs:16:32
|
|
|
|
|
LL | static NEVER2: Void = unsafe { std::mem::transmute(()) };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
|
|
|
|
|
note: enums with no inhabited variants have no valid value
|
|
--> $DIR/uninhabited-static.rs:4:1
|
|
|
|
|
LL | enum Void {}
|
|
| ^^^^^^^^^
|
|
|
|
error: aborting due to 6 previous errors; 2 warnings emitted
|
|
|
|
For more information about this error, try `rustc --explain E0080`.
|