rust/tests/ui/borrowck/borrowck-assign-to-subfield.rs
2023-01-11 09:32:08 +00:00

24 lines
408 B
Rust

// run-pass
// pretty-expanded FIXME #23616
pub fn main() {
struct A {
a: isize,
w: B,
}
struct B {
a: isize
}
let mut p = A {
a: 1,
w: B {a: 1},
};
// even though `x` is not declared as a mutable field,
// `p` as a whole is mutable, so it can be modified.
p.a = 2;
// this is true for an interior field too
p.w.a = 2;
}