]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui/binop/binop-consume-args.stderr
Use structured suggestion when requiring `Copy` constraint in type param
[rust.git] / src / test / ui / binop / binop-consume-args.stderr
index 9246c116709d4145316764f31941c678beae7abd..5a6a2f9258393f1ffe0935d066dac4481195ff61 100644 (file)
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:7:10
    |
+LL | fn add<A: Add<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs + rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:8:10
    |
+LL | fn add<A: Add<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs + rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:13:10
    |
+LL | fn sub<A: Sub<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs - rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:14:10
    |
+LL | fn sub<A: Sub<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs - rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:19:10
    |
+LL | fn mul<A: Mul<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs * rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:20:10
    |
+LL | fn mul<A: Mul<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs * rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:25:10
    |
+LL | fn div<A: Div<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs / rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:26:10
    |
+LL | fn div<A: Div<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs / rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:31:10
    |
+LL | fn rem<A: Rem<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs % rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:32:10
    |
+LL | fn rem<A: Rem<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs % rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:37:10
    |
+LL | fn bitand<A: BitAnd<B, Output=()>, B>(lhs: A, rhs: B) {
+   |           --                          --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |           |
+   |           help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs & rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:38:10
    |
+LL | fn bitand<A: BitAnd<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                                    -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                                    |
+   |                                    help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs & rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:43:10
    |
+LL | fn bitor<A: BitOr<B, Output=()>, B>(lhs: A, rhs: B) {
+   |          --                         --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |          |
+   |          help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs | rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:44:10
    |
+LL | fn bitor<A: BitOr<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                                  -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                                  |
+   |                                  help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs | rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:49:10
    |
+LL | fn bitxor<A: BitXor<B, Output=()>, B>(lhs: A, rhs: B) {
+   |           --                          --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |           |
+   |           help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs ^ rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:50:10
    |
+LL | fn bitxor<A: BitXor<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                                    -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                                    |
+   |                                    help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs ^ rhs;
    |           --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:55:10
    |
+LL | fn shl<A: Shl<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs << rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:56:10
    |
+LL | fn shl<A: Shl<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs << rhs;
    |            --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `lhs`
   --> $DIR/binop-consume-args.rs:61:10
    |
+LL | fn shr<A: Shr<B, Output=()>, B>(lhs: A, rhs: B) {
+   |        --                       --- move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
+   |        |
+   |        help: consider adding a `Copy` constraint to this type argument: `A: Copy +`
 LL |     lhs >> rhs;
    |     --- value moved here
 LL |     drop(lhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `lhs` has type `A`, which does not implement the `Copy` trait
 
 error[E0382]: use of moved value: `rhs`
   --> $DIR/binop-consume-args.rs:62:10
    |
+LL | fn shr<A: Shr<B, Output=()>, B>(lhs: A, rhs: B) {
+   |                              -          --- move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
+   |                              |
+   |                              help: consider adding a `Copy` constraint to this type argument: `B: Copy`
 LL |     lhs >> rhs;
    |            --- value moved here
 LL |     drop(lhs);
 LL |     drop(rhs);
    |          ^^^ value used here after move
-   |
-   = note: move occurs because `rhs` has type `B`, which does not implement the `Copy` trait
 
 error: aborting due to 20 previous errors