| error[E0793]: reference to packed field is unaligned |
| --> $DIR/unaligned_references_external_macro.rs:5:1 |
| | |
| LL | / unaligned_references_external_crate::mac! { |
| LL | | #[repr(packed)] |
| LL | | pub struct X { |
| LL | | pub field: u16 |
| LL | | } |
| LL | | } |
| | |_^ |
| | |
| = 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 `unaligned_references_external_crate::mac` (in Nightly builds, run with -Z macro-backtrace for more info) |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0793`. |