diff options
Diffstat (limited to 'tests/ui/nll/closure-move-spans.stderr')
-rw-r--r-- | tests/ui/nll/closure-move-spans.stderr | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/nll/closure-move-spans.stderr b/tests/ui/nll/closure-move-spans.stderr new file mode 100644 index 000000000..0446ef7b0 --- /dev/null +++ b/tests/ui/nll/closure-move-spans.stderr @@ -0,0 +1,39 @@ +error[E0382]: use of moved value: `x` + --> $DIR/closure-move-spans.rs:5:13 + | +LL | fn move_after_move(x: String) { + | - move occurs because `x` has type `String`, which does not implement the `Copy` trait +LL | || x; + | -- - variable moved due to use in closure + | | + | value moved into closure here +LL | let y = x; + | ^ value used here after move + +error[E0382]: borrow of moved value: `x` + --> $DIR/closure-move-spans.rs:10:13 + | +LL | fn borrow_after_move(x: String) { + | - move occurs because `x` has type `String`, which does not implement the `Copy` trait +LL | || x; + | -- - variable moved due to use in closure + | | + | value moved into closure here +LL | let y = &x; + | ^^ value borrowed here after move + +error[E0382]: borrow of moved value: `x` + --> $DIR/closure-move-spans.rs:15:13 + | +LL | fn borrow_mut_after_move(mut x: String) { + | ----- move occurs because `x` has type `String`, which does not implement the `Copy` trait +LL | || x; + | -- - variable moved due to use in closure + | | + | value moved into closure here +LL | let y = &mut x; + | ^^^^^^ value borrowed here after move + +error: aborting due to 3 previous errors + +For more information about this error, try `rustc --explain E0382`. |