about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorDavid Wood <david@davidtw.co>2018-10-11 01:19:55 +0200
committerDavid Wood <david@davidtw.co>2018-10-18 18:21:14 +0200
commit375645abb89d1b98490c744dc980fb96aa076e73 (patch)
treec4bbebf8ffea99965e5fdc39fb19123636e65703 /src/test
parentaa701154f0a54b6a594f45fa228c482d604ab357 (diff)
Add by-value captured variable note on second use.
This commit adds a note that was present in the AST borrow checker when
closures are invoked more than once and have captured variables
by-value.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/closure_context/issue-42065.nll.stderr11
-rw-r--r--src/test/ui/issues/issue-12127.nll.stderr18
-rw-r--r--src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.nll.stderr11
-rw-r--r--src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.nll.stderr11
4 files changed, 18 insertions, 33 deletions
diff --git a/src/test/ui/closure_context/issue-42065.nll.stderr b/src/test/ui/closure_context/issue-42065.nll.stderr
deleted file mode 100644
index bda8a3b85f7..00000000000
--- a/src/test/ui/closure_context/issue-42065.nll.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0382]: use of moved value: `debug_dump_dict`
-  --> $DIR/issue-42065.rs:21:5
-   |
-LL |     debug_dump_dict();
-   |     --------------- value moved here
-LL |     debug_dump_dict();
-   |     ^^^^^^^^^^^^^^^ value used here after move
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/issues/issue-12127.nll.stderr b/src/test/ui/issues/issue-12127.nll.stderr
new file mode 100644
index 00000000000..51dd2e72832
--- /dev/null
+++ b/src/test/ui/issues/issue-12127.nll.stderr
@@ -0,0 +1,18 @@
+error[E0382]: use of moved value: `f`
+  --> $DIR/issue-12127.rs:21:9
+   |
+LL |         f();
+   |         - value moved here
+LL |         f();
+   |         ^ value used here after move
+   |
+note: closure cannot be invoked more than once because it moves the variable `x` out of its environment
+  --> $DIR/issue-12127.rs:18:39
+   |
+LL |     let f = to_fn_once(move|| do_it(&*x));
+   |                                       ^
+   = note: move occurs because `f` has type `[closure@$DIR/issue-12127.rs:18:24: 18:41 x:std::boxed::Box<isize>]`, which does not implement the `Copy` trait
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.nll.stderr b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.nll.stderr
deleted file mode 100644
index f4756696b6b..00000000000
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.nll.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0382]: use of moved value: `tick`
-  --> $DIR/unboxed-closures-infer-fnonce-call-twice.rs:20:5
-   |
-LL |     tick();
-   |     ---- value moved here
-LL |     tick(); //~ ERROR use of moved value: `tick`
-   |     ^^^^ value used here after move
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.nll.stderr b/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.nll.stderr
deleted file mode 100644
index 95ed6736278..00000000000
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.nll.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0382]: use of moved value: `tick`
-  --> $DIR/unboxed-closures-infer-fnonce-move-call-twice.rs:20:5
-   |
-LL |     tick();
-   |     ---- value moved here
-LL |     tick(); //~ ERROR use of moved value: `tick`
-   |     ^^^^ value used here after move
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0382`.