aboutsummaryrefslogtreecommitdiff
path: root/tests/ui-msrv/transmute-mut-alignment-increase.stderr
blob: 033031c91b7adb2fedecd1c0e728971fc4be2007 (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
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`