]> git.lizzy.rs Git - rust.git/blob - tests/ui/lint/unaligned_references_external_macro.stderr
make unaligned_reference a hard error
[rust.git] / tests / ui / lint / unaligned_references_external_macro.stderr
1 error[E0793]: reference to packed field is unaligned
2   --> $DIR/unaligned_references_external_macro.rs:5:1
3    |
4 LL | / unaligned_references_external_crate::mac! {
5 LL | |     #[repr(packed)]
6 LL | |     pub struct X {
7 LL | |         pub field: u16
8 LL | |     }
9 LL | | }
10    | |_^
11    |
12    = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
13    = 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)
14    = note: this error originates in the macro `unaligned_references_external_crate::mac` (in Nightly builds, run with -Z macro-backtrace for more info)
15
16 error: aborting due to previous error
17
18 For more information about this error, try `rustc --explain E0793`.