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 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)>; +} 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); }