Skip to content

Commit

Permalink
adjust old test
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Mar 28, 2021
1 parent ee1caae commit 1ab05c1
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 16 deletions.
17 changes: 17 additions & 0 deletions src/test/ui/packed/packed-struct-borrow-element-64bit.rs
@@ -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 changes: 13 additions & 0 deletions src/test/ui/packed/packed-struct-borrow-element-64bit.stderr
@@ -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

5 changes: 0 additions & 5 deletions src/test/ui/packed/packed-struct-borrow-element.rs
Expand Up @@ -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);
}
12 changes: 1 addition & 11 deletions src/test/ui/packed/packed-struct-borrow-element.stderr
Expand Up @@ -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

0 comments on commit 1ab05c1

Please sign in to comment.