blob: a24f42d2ddf876767ae7a552491f3a90da6a1929 [file] [log] [blame]
#![feature(untagged_unions)]
// Non-copy
struct A;
struct B;
union U {
a: A,
b: B,
}
fn main() {
unsafe {
{
let mut u = U { a: A };
let a = u.a;
let a = u.a; //~ ERROR use of moved value: `u`
}
{
let mut u = U { a: A };
let a = u.a;
u.a = A;
let a = u.a; // OK
}
{
let mut u = U { a: A };
let a = u.a;
u.b = B;
let a = u.a; // OK
}
}
}