summaryrefslogtreecommitdiffstats
path: root/tests/ui/const-generics/transmute-fail.stderr
blob: 12644b9f36d009453662c5b2007db70f2985097d (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
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> $DIR/transmute-fail.rs:7:5
   |
LL |     std::mem::transmute(v)
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[[u32; H+1]; W]` (generic size {const expr})
   = note: target type: `[[u32; W+1]; H]` (generic size {const expr})

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> $DIR/transmute-fail.rs:16:5
   |
LL |     std::mem::transmute(v)
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[[u32; H]; W]` (this type does not have a fixed size)
   = note: target type: `[[u32; W]; H]` (size can vary because of [u32; W])

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> $DIR/transmute-fail.rs:23:5
   |
LL |     std::mem::transmute(v)
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[[u32; H]; W]` (generic size {const expr})
   = note: target type: `[u32; W * H * H]` (generic size {const expr})

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> $DIR/transmute-fail.rs:30:5
   |
LL |     std::mem::transmute(v)
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[[[u32; 8888888]; 9999999]; 777777777]` (values of the type `[[u32; 8888888]; 9999999]` are too big for the current architecture)
   = note: target type: `[[[u32; 9999999]; 777777777]; 8888888]` (values of the type `[[u32; 9999999]; 777777777]` are too big for the current architecture)

error[E0308]: mismatched types
  --> $DIR/transmute-fail.rs:12:53
   |
LL | fn bar<const W: bool, const H: usize>(v: [[u32; H]; W]) -> [[u32; W]; H] {
   |                                                     ^ expected `usize`, found `bool`

error[E0308]: mismatched types
  --> $DIR/transmute-fail.rs:12:67
   |
LL | fn bar<const W: bool, const H: usize>(v: [[u32; H]; W]) -> [[u32; W]; H] {
   |                                                                   ^ expected `usize`, found `bool`

error: aborting due to 6 previous errors

Some errors have detailed explanations: E0308, E0512.
For more information about an error, try `rustc --explain E0308`.