diff options
Diffstat (limited to 'src/test/ui/unsafe/union-modification.rs')
-rw-r--r-- | src/test/ui/unsafe/union-modification.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/unsafe/union-modification.rs b/src/test/ui/unsafe/union-modification.rs deleted file mode 100644 index 9a53ef908..000000000 --- a/src/test/ui/unsafe/union-modification.rs +++ /dev/null @@ -1,37 +0,0 @@ -// run-pass -// revisions: mir thir -// [thir]compile-flags: -Z thir-unsafeck - -union Foo { - bar: i8, - _blah: isize, - _zst: (), -} - -struct FooHolder { - inner_foo: Foo -} - -fn do_nothing(_x: &mut Foo) {} - -pub fn main() { - let mut foo = Foo { bar: 5 }; - do_nothing(&mut foo); - foo.bar = 6; - unsafe { foo.bar += 1; } - assert_eq!(unsafe { foo.bar }, 7); - unsafe { - let Foo { bar: inner } = foo; - assert_eq!(inner, 7); - } - - let foo = Foo { bar: 5 }; - let foo = if let 3 = if let true = true { 3 } else { 4 } { foo } else { foo }; - - let (_foo2, _random) = (foo, 42); - - let mut foo_holder = FooHolder { inner_foo: Foo { bar: 5 } }; - foo_holder.inner_foo.bar = 4; - assert_eq!(unsafe { foo_holder.inner_foo.bar }, 4); - drop(foo_holder); -} |