2022-09-30 12:54:30 +00:00
error[E0793]: reference to packed field is unaligned
2021-02-25 18:38:53 +00:00
--> $DIR/unaligned_references_external_macro.rs:5:1
2021-02-27 12:25:06 +00:00
|
LL | / unaligned_references_external_crate::mac! {
LL | | #[repr(packed)]
LL | | pub struct X {
LL | | pub field: u16
LL | | }
LL | | }
| |_^
|
2023-04-29 01:28:56 +00:00
= note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
= note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
2022-09-18 15:55:36 +00:00
= 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)
2021-02-13 19:52:25 +00:00
= note: this error originates in the macro `unaligned_references_external_crate::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-02-27 12:25:06 +00:00
error: aborting due to previous error
2022-09-30 12:54:30 +00:00
For more information about this error, try `rustc --explain E0793`.