58 lines
2.7 KiB
Plaintext
58 lines
2.7 KiB
Plaintext
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_internal` (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_internal` (in Nightly builds, run with -Z macro-backtrace for more info)
|