1 error[E0381]: assigned binding `d` isn't fully initialized
2 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:28:5
5 | - binding declared here but left uninitialized
7 | ^^^^^^^^ `d` assigned here but it isn't fully initialized
9 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
11 error[E0381]: assigned binding `d` isn't fully initialized
12 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:33:5
15 | ----- binding declared here but left uninitialized
17 | ^^^^^^^^ `d` assigned here but it isn't fully initialized
19 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
21 error[E0382]: assign of moved value: `d`
22 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:39:5
24 LL | let mut d = D { x: 0, s: S{ y: 0, z: 0 } };
25 | ----- move occurs because `d` has type `D`, which does not implement the `Copy` trait
29 | ^^^^^^^^ value assigned here after move
31 error[E0381]: partially assigned binding `d` isn't fully initialized
32 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:45:5
35 | - binding declared here but left uninitialized
37 | ^^^^^^^^^^ `d.s` partially assigned here but it isn't fully initialized
39 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
41 error[E0381]: partially assigned binding `d` isn't fully initialized
42 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:50:5
45 | ----- binding declared here but left uninitialized
47 | ^^^^^^^^^^ `d.s` partially assigned here but it isn't fully initialized
49 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
51 error[E0382]: assign to part of moved value: `d`
52 --> $DIR/issue-21232-partial-init-and-erroneous-use.rs:56:5
54 LL | let mut d = D { x: 0, s: S{ y: 0, z: 0} };
55 | ----- move occurs because `d` has type `D`, which does not implement the `Copy` trait
59 | ^^^^^^^^^^ value partially assigned here after move
61 error: aborting due to 6 previous errors
63 Some errors have detailed explanations: E0381, E0382.
64 For more information about an error, try `rustc --explain E0381`.