@@ -4,11 +4,11 @@ error[E0382]: use of moved value: `lhs`
44LL | fn add<A: Add<B, Output=()>, B>(lhs: A, rhs: B) {
55 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
66LL | lhs + rhs;
7- | --------- `lhs` moved due to usage in operator
7+ | --------- `lhs` moved due to this method call
88LL | drop(lhs);
99 | ^^^ value used here after move
1010 |
11- note: calling this operator moves the left-hand side
11+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
1212 --> $SRC_DIR/libcore/ops/arith.rs:LL:COL
1313 |
1414LL | fn add(self, rhs: Rhs) -> Self::Output;
@@ -40,11 +40,11 @@ error[E0382]: use of moved value: `lhs`
4040LL | fn sub<A: Sub<B, Output=()>, B>(lhs: A, rhs: B) {
4141 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
4242LL | lhs - rhs;
43- | --------- `lhs` moved due to usage in operator
43+ | --------- `lhs` moved due to this method call
4444LL | drop(lhs);
4545 | ^^^ value used here after move
4646 |
47- note: calling this operator moves the left-hand side
47+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
4848 --> $SRC_DIR/libcore/ops/arith.rs:LL:COL
4949 |
5050LL | fn sub(self, rhs: Rhs) -> Self::Output;
@@ -76,11 +76,11 @@ error[E0382]: use of moved value: `lhs`
7676LL | fn mul<A: Mul<B, Output=()>, B>(lhs: A, rhs: B) {
7777 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
7878LL | lhs * rhs;
79- | --------- `lhs` moved due to usage in operator
79+ | --------- `lhs` moved due to this method call
8080LL | drop(lhs);
8181 | ^^^ value used here after move
8282 |
83- note: calling this operator moves the left-hand side
83+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
8484 --> $SRC_DIR/libcore/ops/arith.rs:LL:COL
8585 |
8686LL | fn mul(self, rhs: Rhs) -> Self::Output;
@@ -112,11 +112,11 @@ error[E0382]: use of moved value: `lhs`
112112LL | fn div<A: Div<B, Output=()>, B>(lhs: A, rhs: B) {
113113 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
114114LL | lhs / rhs;
115- | --------- `lhs` moved due to usage in operator
115+ | --------- `lhs` moved due to this method call
116116LL | drop(lhs);
117117 | ^^^ value used here after move
118118 |
119- note: calling this operator moves the left-hand side
119+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
120120 --> $SRC_DIR/libcore/ops/arith.rs:LL:COL
121121 |
122122LL | fn div(self, rhs: Rhs) -> Self::Output;
@@ -148,11 +148,11 @@ error[E0382]: use of moved value: `lhs`
148148LL | fn rem<A: Rem<B, Output=()>, B>(lhs: A, rhs: B) {
149149 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
150150LL | lhs % rhs;
151- | --------- `lhs` moved due to usage in operator
151+ | --------- `lhs` moved due to this method call
152152LL | drop(lhs);
153153 | ^^^ value used here after move
154154 |
155- note: calling this operator moves the left-hand side
155+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
156156 --> $SRC_DIR/libcore/ops/arith.rs:LL:COL
157157 |
158158LL | fn rem(self, rhs: Rhs) -> Self::Output;
@@ -184,11 +184,11 @@ error[E0382]: use of moved value: `lhs`
184184LL | fn bitand<A: BitAnd<B, Output=()>, B>(lhs: A, rhs: B) {
185185 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
186186LL | lhs & rhs;
187- | --------- `lhs` moved due to usage in operator
187+ | --------- `lhs` moved due to this method call
188188LL | drop(lhs);
189189 | ^^^ value used here after move
190190 |
191- note: calling this operator moves the left-hand side
191+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
192192 --> $SRC_DIR/libcore/ops/bit.rs:LL:COL
193193 |
194194LL | fn bitand(self, rhs: Rhs) -> Self::Output;
@@ -220,11 +220,11 @@ error[E0382]: use of moved value: `lhs`
220220LL | fn bitor<A: BitOr<B, Output=()>, B>(lhs: A, rhs: B) {
221221 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
222222LL | lhs | rhs;
223- | --------- `lhs` moved due to usage in operator
223+ | --------- `lhs` moved due to this method call
224224LL | drop(lhs);
225225 | ^^^ value used here after move
226226 |
227- note: calling this operator moves the left-hand side
227+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
228228 --> $SRC_DIR/libcore/ops/bit.rs:LL:COL
229229 |
230230LL | fn bitor(self, rhs: Rhs) -> Self::Output;
@@ -256,11 +256,11 @@ error[E0382]: use of moved value: `lhs`
256256LL | fn bitxor<A: BitXor<B, Output=()>, B>(lhs: A, rhs: B) {
257257 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
258258LL | lhs ^ rhs;
259- | --------- `lhs` moved due to usage in operator
259+ | --------- `lhs` moved due to this method call
260260LL | drop(lhs);
261261 | ^^^ value used here after move
262262 |
263- note: calling this operator moves the left-hand side
263+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
264264 --> $SRC_DIR/libcore/ops/bit.rs:LL:COL
265265 |
266266LL | fn bitxor(self, rhs: Rhs) -> Self::Output;
@@ -292,11 +292,11 @@ error[E0382]: use of moved value: `lhs`
292292LL | fn shl<A: Shl<B, Output=()>, B>(lhs: A, rhs: B) {
293293 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
294294LL | lhs << rhs;
295- | ---------- `lhs` moved due to usage in operator
295+ | ---------- `lhs` moved due to this method call
296296LL | drop(lhs);
297297 | ^^^ value used here after move
298298 |
299- note: calling this operator moves the left-hand side
299+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
300300 --> $SRC_DIR/libcore/ops/bit.rs:LL:COL
301301 |
302302LL | fn shl(self, rhs: Rhs) -> Self::Output;
@@ -328,11 +328,11 @@ error[E0382]: use of moved value: `lhs`
328328LL | fn shr<A: Shr<B, Output=()>, B>(lhs: A, rhs: B) {
329329 | --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
330330LL | lhs >> rhs;
331- | ---------- `lhs` moved due to usage in operator
331+ | ---------- `lhs` moved due to this method call
332332LL | drop(lhs);
333333 | ^^^ value used here after move
334334 |
335- note: calling this operator moves the left-hand side
335+ note: this function consumes the receiver `self` by taking ownership of it, which moves `lhs`
336336 --> $SRC_DIR/libcore/ops/bit.rs:LL:COL
337337 |
338338LL | fn shr(self, rhs: Rhs) -> Self::Output;
0 commit comments