summaryrefslogtreecommitdiffstats
path: root/src/test/ui/moves/moves-based-on-type-exprs.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/moves/moves-based-on-type-exprs.stderr')
-rw-r--r--src/test/ui/moves/moves-based-on-type-exprs.stderr135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/test/ui/moves/moves-based-on-type-exprs.stderr b/src/test/ui/moves/moves-based-on-type-exprs.stderr
new file mode 100644
index 000000000..9bcec3674
--- /dev/null
+++ b/src/test/ui/moves/moves-based-on-type-exprs.stderr
@@ -0,0 +1,135 @@
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:12:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+LL | let _y = Foo { f:x };
+ | - value moved here
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:18:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+LL | let _y = (x, 3);
+ | - value moved here
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:35:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+...
+LL | x
+ | - value moved here
+...
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `y`
+ --> $DIR/moves-based-on-type-exprs.rs:36:11
+ |
+LL | let y = "ho".to_string();
+ | - move occurs because `y` has type `String`, which does not implement the `Copy` trait
+...
+LL | y
+ | - value moved here
+...
+LL | touch(&y);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:46:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+...
+LL | true => x,
+ | - value moved here
+...
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `y`
+ --> $DIR/moves-based-on-type-exprs.rs:47:11
+ |
+LL | let y = "ho".to_string();
+ | - move occurs because `y` has type `String`, which does not implement the `Copy` trait
+...
+LL | false => y
+ | - value moved here
+...
+LL | touch(&y);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:58:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+...
+LL | _ if guard(x) => 10,
+ | - value moved here
+...
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:65:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+LL | let _y = [x];
+ | - value moved here
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:71:11
+ |
+LL | let x = "hi".to_string();
+ | - move occurs because `x` has type `String`, which does not implement the `Copy` trait
+LL | let _y = vec![x];
+ | - value moved here
+LL | touch(&x);
+ | ^^ value borrowed here after move
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:77:11
+ |
+LL | let x = vec!["hi".to_string()];
+ | - move occurs because `x` has type `Vec<String>`, which does not implement the `Copy` trait
+LL | let _y = x.into_iter().next().unwrap();
+ | ----------- `x` moved due to this method call
+LL | touch(&x);
+ | ^^ value borrowed here after move
+ |
+note: this function takes ownership of the receiver `self`, which moves `x`
+ --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
+ |
+LL | fn into_iter(self) -> Self::IntoIter;
+ | ^^^^
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/moves-based-on-type-exprs.rs:83:11
+ |
+LL | let x = vec!["hi".to_string()];
+ | - move occurs because `x` has type `Vec<String>`, which does not implement the `Copy` trait
+LL | let _y = [x.into_iter().next().unwrap(); 1];
+ | ----------- `x` moved due to this method call
+LL | touch(&x);
+ | ^^ value borrowed here after move
+ |
+note: this function takes ownership of the receiver `self`, which moves `x`
+ --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
+ |
+LL | fn into_iter(self) -> Self::IntoIter;
+ | ^^^^
+
+error: aborting due to 11 previous errors
+
+For more information about this error, try `rustc --explain E0382`.