adjust old test
This commit is contained in:
parent
ee1caae33c
commit
1ab05c13dd
17
src/test/ui/packed/packed-struct-borrow-element-64bit.rs
Normal file
17
src/test/ui/packed/packed-struct-borrow-element-64bit.rs
Normal file
@ -0,0 +1,17 @@
|
||||
// run-pass (note: this is spec-UB, but it works for now)
|
||||
// ignore-32bit (needs `usize` to be 8-aligned to reproduce all the errors below)
|
||||
#![allow(dead_code)]
|
||||
// ignore-emscripten weird assertion?
|
||||
|
||||
#[repr(C, packed(4))]
|
||||
struct Foo4C {
|
||||
bar: u8,
|
||||
baz: usize
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
let foo = Foo4C { bar: 1, baz: 2 };
|
||||
let brw = &foo.baz; //~WARN reference to packed field is unaligned
|
||||
//~^ previously accepted
|
||||
assert_eq!(*brw, 2);
|
||||
}
|
13
src/test/ui/packed/packed-struct-borrow-element-64bit.stderr
Normal file
13
src/test/ui/packed/packed-struct-borrow-element-64bit.stderr
Normal file
@ -0,0 +1,13 @@
|
||||
warning: reference to packed field is unaligned
|
||||
--> $DIR/packed-struct-borrow-element-64bit.rs:14:15
|
||||
|
|
||||
LL | let brw = &foo.baz;
|
||||
| ^^^^^^^^
|
||||
|
|
||||
= note: `#[warn(unaligned_references)]` on by default
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
|
||||
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
|
||||
|
||||
warning: 1 warning emitted
|
||||
|
@ -30,9 +30,4 @@ pub fn main() {
|
||||
let brw = &foo.baz; //~WARN reference to packed field is unaligned
|
||||
//~^ previously accepted
|
||||
assert_eq!(*brw, 2);
|
||||
|
||||
let foo = Foo4C { bar: 1, baz: 2 };
|
||||
let brw = &foo.baz; //~WARN reference to packed field is unaligned
|
||||
//~^ previously accepted
|
||||
assert_eq!(*brw, 2);
|
||||
}
|
||||
|
@ -19,15 +19,5 @@ LL | let brw = &foo.baz;
|
||||
= note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
|
||||
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
|
||||
|
||||
warning: reference to packed field is unaligned
|
||||
--> $DIR/packed-struct-borrow-element.rs:35:15
|
||||
|
|
||||
LL | let brw = &foo.baz;
|
||||
| ^^^^^^^^
|
||||
|
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
|
||||
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
|
||||
|
||||
warning: 3 warnings emitted
|
||||
warning: 2 warnings emitted
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user