summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/borrowck-move-by-capture.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/borrowck/borrowck-move-by-capture.stderr')
-rw-r--r--tests/ui/borrowck/borrowck-move-by-capture.stderr17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/borrowck/borrowck-move-by-capture.stderr b/tests/ui/borrowck/borrowck-move-by-capture.stderr
new file mode 100644
index 000000000..8ddc48b2a
--- /dev/null
+++ b/tests/ui/borrowck/borrowck-move-by-capture.stderr
@@ -0,0 +1,17 @@
+error[E0507]: cannot move out of `bar`, a captured variable in an `FnMut` closure
+ --> $DIR/borrowck-move-by-capture.rs:9:29
+ |
+LL | let bar: Box<_> = Box::new(3);
+ | --- captured outer variable
+LL | let _g = to_fn_mut(|| {
+ | -- captured by this `FnMut` closure
+LL | let _h = to_fn_once(move || -> isize { *bar });
+ | ^^^^^^^^^^^^^^^^ ----
+ | | |
+ | | variable moved due to use in closure
+ | | move occurs because `bar` has type `Box<isize>`, which does not implement the `Copy` trait
+ | move out of `bar` occurs here
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0507`.