diff options
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.stderr | 135 |
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`. |