3 // [thir]compile-flags: -Z thir-unsafeck
5 #![feature(untagged_unions)]
17 fn do_nothing(_x: &mut Foo) {}
20 let mut foo = Foo { bar: 5 };
23 unsafe { foo.bar += 1; }
24 assert_eq!(unsafe { foo.bar }, 7);
26 let Foo { bar: inner } = foo;
30 let foo = Foo { bar: 5 };
31 let foo = if let 3 = if let true = true { 3 } else { 4 } { foo } else { foo };
33 let (_foo2, _random) = (foo, 42);
35 let mut foo_holder = FooHolder { inner_foo: Foo { bar: 5 } };
36 foo_holder.inner_foo.bar = 4;
37 assert_eq!(unsafe { foo_holder.inner_foo.bar }, 4);