about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/ui/lint/packed_reference.rs2
-rw-r--r--src/test/ui/lint/packed_reference.stderr18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/test/ui/lint/packed_reference.rs b/src/test/ui/lint/packed_reference.rs
index c684fd62ee3..34942108468 100644
--- a/src/test/ui/lint/packed_reference.rs
+++ b/src/test/ui/lint/packed_reference.rs
@@ -12,6 +12,8 @@ fn main() {
         let good = Good { data: &0, data2: [&0, &0], aligned: [0; 32] };
 
         let _ = &good.data; //~ ERROR reference to packed field
+        let _ = &good.data as *const _; //~ ERROR reference to packed field
+        let _: *const _ = &good.data; //~ ERROR reference to packed field
         let _ = &good.data2[0]; //~ ERROR reference to packed field
         let _ = &*good.data; // ok, behind a pointer
         let _ = &good.aligned; // ok, has align 1
diff --git a/src/test/ui/lint/packed_reference.stderr b/src/test/ui/lint/packed_reference.stderr
index 428f4b66944..51158a84175 100644
--- a/src/test/ui/lint/packed_reference.stderr
+++ b/src/test/ui/lint/packed_reference.stderr
@@ -14,10 +14,26 @@ LL | #![deny(packed_references)]
 error: reference to packed field is not allowed
   --> $DIR/packed_reference.rs:15:17
    |
+LL |         let _ = &good.data as *const _;
+   |                 ^^^^^^^^^^
+   |
+   = note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+
+error: reference to packed field is not allowed
+  --> $DIR/packed_reference.rs:16:27
+   |
+LL |         let _: *const _ = &good.data;
+   |                           ^^^^^^^^^^
+   |
+   = note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+
+error: reference to packed field is not allowed
+  --> $DIR/packed_reference.rs:17:17
+   |
 LL |         let _ = &good.data2[0];
    |                 ^^^^^^^^^^^^^^
    |
    = note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
 
-error: aborting due to 2 previous errors
+error: aborting due to 4 previous errors