summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/const-eval/validate_uninhabited_zsts.64bit.stderr
blob: 74bc6317c808e101fbf7daf82aa162eeaa0766c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
warning: the type `!` does not permit zero-initialization
  --> $DIR/validate_uninhabited_zsts.rs:4:14
   |
LL |     unsafe { std::mem::transmute(()) }
   |              ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
   |
   = note: the `!` type has no valid value
   = note: `#[warn(invalid_value)]` on by default

error[E0080]: evaluation of constant value failed
  --> $DIR/validate_uninhabited_zsts.rs:4:14
   |
LL |     unsafe { std::mem::transmute(()) }
   |              ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value: encountered a value of the never type `!`
   |
note: inside `foo`
  --> $DIR/validate_uninhabited_zsts.rs:4:14
   |
LL |     unsafe { std::mem::transmute(()) }
   |              ^^^^^^^^^^^^^^^^^^^^^^^
note: inside `FOO`
  --> $DIR/validate_uninhabited_zsts.rs:19:33
   |
LL | const FOO: [empty::Empty; 3] = [foo(); 3];
   |                                 ^^^^^

error[E0080]: evaluation of constant value failed
  --> $DIR/validate_uninhabited_zsts.rs:21:42
   |
LL | const BAR: [empty::Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
   |                                          ^^^^^^^^^^^^^^^^^^^^^^^ constructing invalid value at .0: encountered a value of uninhabited type empty::Void

warning: the type `empty::Empty` does not permit zero-initialization
  --> $DIR/validate_uninhabited_zsts.rs:21:42
   |
LL | const BAR: [empty::Empty; 3] = [unsafe { std::mem::transmute(()) }; 3];
   |                                          ^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
   |
note: in this struct field
  --> $DIR/validate_uninhabited_zsts.rs:16:22
   |
LL |     pub struct Empty(Void);
   |                      ^^^^
note: enums with no inhabited variants have no valid value
  --> $DIR/validate_uninhabited_zsts.rs:13:5
   |
LL |     enum Void {}
   |     ^^^^^^^^^

error: aborting due to 2 previous errors; 2 warnings emitted

For more information about this error, try `rustc --explain E0080`.