error[E0512]: cannot transmute between types of different sizes, or dependently-sized types --> tests/ui-msrv/transmute-mut-size-decrease.rs:17:32 | 17 | const DECREASE_SIZE: &mut u8 = transmute_mut!(&mut [0u8; 2]); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: source type: `[u8; 2]` (16 bits) = note: target type: `u8` (8 bits) = note: this error originates in the macro `$crate::assert_size_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-size-decrease.rs:17:47 | 17 | const DECREASE_SIZE: &mut u8 = transmute_mut!(&mut [0u8; 2]); | ^^^^^^^^^^^^^ | = note: see issue #57349 for more information error[E0015]: cannot call non-const fn `transmute_mut::<[u8; 2], u8>` in constants --> tests/ui-msrv/transmute-mut-size-decrease.rs:17:32 | 17 | const DECREASE_SIZE: &mut u8 = 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-size-decrease.rs:17:52 | 17 | const DECREASE_SIZE: &mut u8 = 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`