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