From a85b78d30c6e5b6c8b20c10a785679c11565cabd Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Mon, 17 Sep 2018 18:05:36 +0200 Subject: [PATCH 1/3] test for interestingly aligned field access --- tests/run-pass/issue-53728.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/run-pass/issue-53728.rs diff --git a/tests/run-pass/issue-53728.rs b/tests/run-pass/issue-53728.rs new file mode 100644 index 000000000000..6d440b66b35a --- /dev/null +++ b/tests/run-pass/issue-53728.rs @@ -0,0 +1,16 @@ +#![allow(dead_code)] + +#[repr(u16)] +enum DeviceKind { + Nil = 0, +} +#[repr(packed)] +struct DeviceInfo { + endianness: u8, + device_kind: DeviceKind, +} +fn main() { + let _x = None::<(DeviceInfo, u8)>; + let _y = None::<(DeviceInfo, u16)>; + let _z = None::<(DeviceInfo, u64)>; +} From 6b404011cc06bcbaa9badc1db12bbdca0358ceee Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 22 Sep 2018 08:44:38 +0200 Subject: [PATCH 2/3] bump toolchain --- rust-toolchain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain b/rust-toolchain index 48282503c507..c1bf4c3de804 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2018-09-18 +nightly-2018-09-22 From f18cb40e4ce0d0fa7ce60c17d2783edffde783f2 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 23 Sep 2018 09:14:55 +0200 Subject: [PATCH 3/3] test mutating a non-mut static with interior mutability --- tests/run-pass/static_memory_modification.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/run-pass/static_memory_modification.rs b/tests/run-pass/static_memory_modification.rs index a68f727322e2..6a4107817798 100644 --- a/tests/run-pass/static_memory_modification.rs +++ b/tests/run-pass/static_memory_modification.rs @@ -1,8 +1,14 @@ +use std::sync::atomic::{Ordering, AtomicUsize}; + static mut X: usize = 5; +static Y: AtomicUsize = AtomicUsize::new(5); fn main() { unsafe { X = 6; assert_eq!(X, 6); } + + Y.store(6, Ordering::Relaxed); + assert_eq!(Y.load(Ordering::Relaxed), 6); }