| 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: 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) | 
 |    = 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 1 previous error | 
 |  | 
 | For more information about this error, try `rustc --explain E0793`. |