// This should never be allowed -- `foo.a` and `foo.b` are | |
// overlapping, so since `x` is not `mut` we should not permit | |
// reassignment. | |
union Foo { | |
a: u32, | |
b: u32, | |
} | |
unsafe fn overlapping_fields() { | |
let x: Foo; | |
x.a = 1; //~ ERROR | |
x.b = 22; //~ ERROR | |
} | |
fn main() { } |