1warning: taking a mutable reference to a `const` item
2  --> tests/ui-msrv/transmute-mut-const.rs:20:52
3   |
420 | const CONST_CONTEXT: &mut [u8; 2] = transmute_mut!(&mut ARRAY_OF_U8S);
5   |                                                    ^^^^^^^^^^^^^^^^^
6   |
7   = note: `#[warn(const_item_mutation)]` on by default
8   = note: each usage of a `const` item creates a new temporary
9   = note: the mutable reference will refer to this temporary, not the original `const` item
10note: `const` item defined here
11  --> tests/ui-msrv/transmute-mut-const.rs:17:1
12   |
1317 | const ARRAY_OF_U8S: [u8; 2] = [0u8; 2];
14   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
16error[E0658]: mutable references are not allowed in constants
17  --> tests/ui-msrv/transmute-mut-const.rs:20:52
18   |
1920 | const CONST_CONTEXT: &mut [u8; 2] = transmute_mut!(&mut ARRAY_OF_U8S);
20   |                                                    ^^^^^^^^^^^^^^^^^
21   |
22   = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
23
24error[E0015]: cannot call non-const fn `transmute_mut::<[u8; 2], [u8; 2]>` in constants
25  --> tests/ui-msrv/transmute-mut-const.rs:20:37
26   |
2720 | const CONST_CONTEXT: &mut [u8; 2] = transmute_mut!(&mut ARRAY_OF_U8S);
28   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
29   |
30   = note: calls in constants are limited to constant functions, tuple structs and tuple variants
31   = note: this error originates in the macro `transmute_mut` (in Nightly builds, run with -Z macro-backtrace for more info)
32
33error[E0716]: temporary value dropped while borrowed
34  --> tests/ui-msrv/transmute-mut-const.rs:20:57
35   |
3620 | const CONST_CONTEXT: &mut [u8; 2] = transmute_mut!(&mut ARRAY_OF_U8S);
37   |                                     --------------------^^^^^^^^^^^^-
38   |                                     |                   |
39   |                                     |                   creates a temporary which is freed while still in use
40   |                                     temporary value is freed at the end of this statement
41   |                                     using this value as a constant requires that borrow lasts for `'static`
42