about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2021-12-09 12:45:00 -0500
committerRalf Jung <post@ralfj.de>2021-12-09 16:48:51 -0500
commit7d18a456cafa4bc09fe6ac014b208e3f9570f18b (patch)
tree019e2681bd00a462ea7e8a06ac034cc87247038a /compiler/rustc_mir_transform/src
parente25077704164071a1ef87cdc90fe7dd1872ba3fa (diff)
downloadrust-7d18a456cafa4bc09fe6ac014b208e3f9570f18b.tar.gz
rust-7d18a456cafa4bc09fe6ac014b208e3f9570f18b.zip
give more help in the unaligned_references lint
Diffstat (limited to 'compiler/rustc_mir_transform/src')
-rw-r--r--compiler/rustc_mir_transform/src/check_packed_ref.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/check_packed_ref.rs b/compiler/rustc_mir_transform/src/check_packed_ref.rs
index c6661e9c74e..23d59c80071 100644
--- a/compiler/rustc_mir_transform/src/check_packed_ref.rs
+++ b/compiler/rustc_mir_transform/src/check_packed_ref.rs
@@ -105,6 +105,11 @@ impl<'tcx> Visitor<'tcx> for PackedRefChecker<'_, 'tcx> {
                                     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)"
+                                )
                                 .emit()
                         },
                     );