| error: reference to packed field is unaligned |
| --> tests/ui/pin_project/packed.rs:5:1 |
| | |
| 5 | / pin_project! { //~ ERROR reference to packed field is unaligned |
| 6 | | #[repr(packed, C)] |
| 7 | | struct Packed { |
| 8 | | #[pin] |
| 9 | | field: u16, |
| 10 | | } |
| 11 | | } |
| | |_^ |
| | |
| note: the lint level is defined here |
| --> tests/ui/pin_project/packed.rs:5:1 |
| | |
| 5 | / pin_project! { //~ ERROR reference to packed field is unaligned |
| 6 | | #[repr(packed, C)] |
| 7 | | struct Packed { |
| 8 | | #[pin] |
| 9 | | field: u16, |
| 10 | | } |
| 11 | | } |
| | |_^ |
| = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! |
| = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523> |
| = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) |
| = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) |
| = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: reference to packed field is unaligned |
| --> tests/ui/pin_project/packed.rs:13:1 |
| | |
| 13 | / pin_project! { //~ ERROR reference to packed field is unaligned |
| 14 | | #[repr(packed(2))] |
| 15 | | struct PackedN { |
| 16 | | #[pin] |
| 17 | | field: u32, |
| 18 | | } |
| 19 | | } |
| | |_^ |
| | |
| note: the lint level is defined here |
| --> tests/ui/pin_project/packed.rs:13:1 |
| | |
| 13 | / pin_project! { //~ ERROR reference to packed field is unaligned |
| 14 | | #[repr(packed(2))] |
| 15 | | struct PackedN { |
| 16 | | #[pin] |
| 17 | | field: u32, |
| 18 | | } |
| 19 | | } |
| | |_^ |
| = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! |
| = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523> |
| = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) |
| = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) |
| = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info) |