more test ref-to-packed tests
This commit is contained in:
parent
c79535eab9
commit
061773fd2b
2 changed files with 19 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue