1 error[E0382]: use of moved value: `x.b`
2 --> $DIR/borrowck-field-sensitivity.rs:8:10
7 | ^^^^ value used here after move
9 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
11 error[E0382]: use of moved value: `x.b`
12 --> $DIR/borrowck-field-sensitivity.rs:14:10
14 LL | let y = A { a: 3, .. x };
15 | ---------------- value moved here
17 | ^^^^ value used here after move
19 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
21 error[E0382]: borrow of moved value: `x.b`
22 --> $DIR/borrowck-field-sensitivity.rs:20:13
25 | --- value moved here
27 | ^^^^ value borrowed here after move
29 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
31 error[E0382]: borrow of moved value: `x.b`
32 --> $DIR/borrowck-field-sensitivity.rs:27:13
34 LL | let _y = A { a: 3, .. x };
35 | ---------------- value moved here
37 | ^^^^ value borrowed here after move
39 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
41 error[E0505]: cannot move out of `x.b` because it is borrowed
42 --> $DIR/borrowck-field-sensitivity.rs:34:10
45 | ---- borrow of `x.b` occurs here
47 | ^^^ move out of `x.b` occurs here
49 | --- borrow later used here
51 error[E0505]: cannot move out of `x.b` because it is borrowed
52 --> $DIR/borrowck-field-sensitivity.rs:41:14
55 | ---- borrow of `x.b` occurs here
56 LL | let _y = A { a: 3, .. x };
57 | ^^^^^^^^^^^^^^^^ move out of `x.b` occurs here
59 | --- borrow later used here
61 error[E0499]: cannot borrow `x.a` as mutable more than once at a time
62 --> $DIR/borrowck-field-sensitivity.rs:48:13
64 LL | let p = &mut x.a;
65 | -------- first mutable borrow occurs here
66 LL | let q = &mut x.a;
67 | ^^^^^^^^ second mutable borrow occurs here
69 | -- first borrow later used here
71 error[E0382]: use of moved value: `x.b`
72 --> $DIR/borrowck-field-sensitivity.rs:56:10
75 | --- value moved here
77 | ^^^ value used here after move
79 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
81 error[E0382]: use of moved value: `x.b`
82 --> $DIR/borrowck-field-sensitivity.rs:62:10
84 LL | let _y = A { a: 3, .. x };
85 | ---------------- value moved here
87 | ^^^ value used here after move
89 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
91 error[E0382]: use of moved value: `x.b`
92 --> $DIR/borrowck-field-sensitivity.rs:68:14
95 | --- value moved here
96 LL | let _z = A { a: 3, .. x };
97 | ^^^^^^^^^^^^^^^^ value used here after move
99 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
101 error[E0382]: use of moved value: `x.b`
102 --> $DIR/borrowck-field-sensitivity.rs:74:14
104 LL | let _y = A { a: 3, .. x };
105 | ---------------- value moved here
106 LL | let _z = A { a: 4, .. x };
107 | ^^^^^^^^^^^^^^^^ value used here after move
109 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
111 error[E0381]: partially assigned binding `x` isn't fully initialized
112 --> $DIR/borrowck-field-sensitivity.rs:81:5
115 | ----- binding declared here but left uninitialized
117 | ^^^^^^^ `x` partially assigned here but it isn't fully initialized
119 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
121 error[E0381]: partially assigned binding `x` isn't fully initialized
122 --> $DIR/borrowck-field-sensitivity.rs:87:5
125 | ----- binding declared here but left uninitialized
127 | ^^^^^^^ `x` partially assigned here but it isn't fully initialized
129 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
131 error[E0381]: partially assigned binding `x` isn't fully initialized
132 --> $DIR/borrowck-field-sensitivity.rs:94:5
135 | ----- binding declared here but left uninitialized
136 LL | x.b = Box::new(1);
137 | ^^^ `x` partially assigned here but it isn't fully initialized
139 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
141 error: aborting due to 14 previous errors
143 Some errors have detailed explanations: E0381, E0382, E0499, E0505.
144 For more information about an error, try `rustc --explain E0381`.