| error[E0381]: partially assigned binding `x` isn't fully initialized | |
| --> $DIR/reassignment_immutable_fields_overlapping.rs:12:5 | |
| | | |
| LL | let x: Foo; | |
| | - binding declared here but left uninitialized | |
| LL | x.a = 1; | |
| | ^^^^^^^ `x` partially assigned here but it isn't fully initialized | |
| | | |
| = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit` | |
| error[E0594]: cannot assign to `x.b`, as `x` is not declared as mutable | |
| --> $DIR/reassignment_immutable_fields_overlapping.rs:13:5 | |
| | | |
| LL | x.b = 22; | |
| | ^^^^^^^^ cannot assign | |
| | | |
| help: consider changing this to be mutable | |
| | | |
| LL | let mut x: Foo; | |
| | +++ | |
| error: aborting due to 2 previous errors | |
| Some errors have detailed explanations: E0381, E0594. | |
| For more information about an error, try `rustc --explain E0381`. |