Skip to content

Commit 061773f

Browse files
committed
more test ref-to-packed tests
1 parent c79535e commit 061773f

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/test/ui/lint/packed_reference.rs

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ fn main() {
1212
let good = Good { data: &0, data2: [&0, &0], aligned: [0; 32] };
1313

1414
let _ = &good.data; //~ ERROR reference to packed field
15+
let _ = &good.data as *const _; //~ ERROR reference to packed field
16+
let _: *const _ = &good.data; //~ ERROR reference to packed field
1517
let _ = &good.data2[0]; //~ ERROR reference to packed field
1618
let _ = &*good.data; // ok, behind a pointer
1719
let _ = &good.aligned; // ok, has align 1

src/test/ui/lint/packed_reference.stderr

+17-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,26 @@ LL | #![deny(packed_references)]
1414
error: reference to packed field is not allowed
1515
--> $DIR/packed_reference.rs:15:17
1616
|
17+
LL | let _ = &good.data as *const _;
18+
| ^^^^^^^^^^
19+
|
20+
= note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
21+
22+
error: reference to packed field is not allowed
23+
--> $DIR/packed_reference.rs:16:27
24+
|
25+
LL | let _: *const _ = &good.data;
26+
| ^^^^^^^^^^
27+
|
28+
= note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
29+
30+
error: reference to packed field is not allowed
31+
--> $DIR/packed_reference.rs:17:17
32+
|
1733
LL | let _ = &good.data2[0];
1834
| ^^^^^^^^^^^^^^
1935
|
2036
= note: fields of packed structs might be misaligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
2137

22-
error: aborting due to 2 previous errors
38+
error: aborting due to 4 previous errors
2339

0 commit comments

Comments
 (0)