| error[E0512]: cannot transmute between types of different sizes, or dependently-sized types |
| --> tests/ui-msrv/transmute-mut-alignment-increase.rs:19:39 |
| | |
| 19 | const INCREASE_ALIGNMENT: &mut AU16 = transmute_mut!(&mut [0u8; 2]); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: source type: `AlignOf<[u8; 2]>` (8 bits) |
| = note: target type: `MaxAlignsOf<[u8; 2], AU16>` (16 bits) |
| = note: this error originates in the macro `$crate::assert_align_gt_eq` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error[E0658]: mutable references are not allowed in constants |
| --> tests/ui-msrv/transmute-mut-alignment-increase.rs:19:54 |
| | |
| 19 | const INCREASE_ALIGNMENT: &mut AU16 = transmute_mut!(&mut [0u8; 2]); |
| | ^^^^^^^^^^^^^ |
| | |
| = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information |
| |
| error[E0015]: cannot call non-const fn `transmute_mut::<[u8; 2], AU16>` in constants |
| --> tests/ui-msrv/transmute-mut-alignment-increase.rs:19:39 |
| | |
| 19 | const INCREASE_ALIGNMENT: &mut AU16 = transmute_mut!(&mut [0u8; 2]); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: calls in constants are limited to constant functions, tuple structs and tuple variants |
| = note: this error originates in the macro `transmute_mut` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error[E0716]: temporary value dropped while borrowed |
| --> tests/ui-msrv/transmute-mut-alignment-increase.rs:19:59 |
| | |
| 19 | const INCREASE_ALIGNMENT: &mut AU16 = transmute_mut!(&mut [0u8; 2]); |
| | --------------------^^^^^^^^- |
| | | | |
| | | creates a temporary which is freed while still in use |
| | temporary value is freed at the end of this statement |
| | using this value as a constant requires that borrow lasts for `'static` |