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
44 LL | let x = A { a: 1, b: Box::new(2) };
45 | - binding `x` declared here
47 | ---- borrow of `x.b` occurs here
49 | ^^^ move out of `x.b` occurs here
51 | --- borrow later used here
53 error[E0505]: cannot move out of `x.b` because it is borrowed
54 --> $DIR/borrowck-field-sensitivity.rs:41:14
56 LL | let x = A { a: 1, b: Box::new(2) };
57 | - binding `x` declared here
59 | ---- borrow of `x.b` occurs here
60 LL | let _y = A { a: 3, .. x };
61 | ^^^^^^^^^^^^^^^^ move out of `x.b` occurs here
63 | --- borrow later used here
65 error[E0499]: cannot borrow `x.a` as mutable more than once at a time
66 --> $DIR/borrowck-field-sensitivity.rs:48:13
68 LL | let p = &mut x.a;
69 | -------- first mutable borrow occurs here
70 LL | let q = &mut x.a;
71 | ^^^^^^^^ second mutable borrow occurs here
73 | -- first borrow later used here
75 error[E0382]: use of moved value: `x.b`
76 --> $DIR/borrowck-field-sensitivity.rs:56:10
79 | --- value moved here
81 | ^^^ value used here after move
83 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
85 error[E0382]: use of moved value: `x.b`
86 --> $DIR/borrowck-field-sensitivity.rs:62:10
88 LL | let _y = A { a: 3, .. x };
89 | ---------------- value moved here
91 | ^^^ value used here after move
93 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
95 error[E0382]: use of moved value: `x.b`
96 --> $DIR/borrowck-field-sensitivity.rs:68:14
99 | --- value moved here
100 LL | let _z = A { a: 3, .. x };
101 | ^^^^^^^^^^^^^^^^ value used here after move
103 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
105 error[E0382]: use of moved value: `x.b`
106 --> $DIR/borrowck-field-sensitivity.rs:74:14
108 LL | let _y = A { a: 3, .. x };
109 | ---------------- value moved here
110 LL | let _z = A { a: 4, .. x };
111 | ^^^^^^^^^^^^^^^^ value used here after move
113 = note: move occurs because `x.b` has type `Box<isize>`, which does not implement the `Copy` trait
115 error[E0381]: partially assigned binding `x` isn't fully initialized
116 --> $DIR/borrowck-field-sensitivity.rs:81:5
119 | ----- binding declared here but left uninitialized
121 | ^^^^^^^ `x` partially assigned here but it isn't fully initialized
123 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
125 error[E0381]: partially assigned binding `x` isn't fully initialized
126 --> $DIR/borrowck-field-sensitivity.rs:87:5
129 | ----- binding declared here but left uninitialized
131 | ^^^^^^^ `x` partially assigned here but it isn't fully initialized
133 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
135 error[E0381]: partially assigned binding `x` isn't fully initialized
136 --> $DIR/borrowck-field-sensitivity.rs:94:5
139 | ----- binding declared here but left uninitialized
140 LL | x.b = Box::new(1);
141 | ^^^ `x` partially assigned here but it isn't fully initialized
143 = help: partial initialization isn't supported, fully initialize the binding with a default value and mutate it, or use `std::mem::MaybeUninit`
145 error: aborting due to 14 previous errors
147 Some errors have detailed explanations: E0381, E0382, E0499, E0505.
148 For more information about an error, try `rustc --explain E0381`.