]> git.lizzy.rs Git - rust.git/blob - src/test/ui/unboxed-closures/unboxed-closure-illegal-move.stderr
Rollup merge of #105843 - compiler-errors:sugg-const, r=lcnr
[rust.git] / src / test / ui / unboxed-closures / unboxed-closure-illegal-move.stderr
1 error[E0507]: cannot move out of `x`, a captured variable in an `Fn` closure
2   --> $DIR/unboxed-closure-illegal-move.rs:15:31
3    |
4 LL |         let x = Box::new(0);
5    |             - captured outer variable
6 LL |         let f = to_fn(|| drop(x));
7    |                       --      ^ move occurs because `x` has type `Box<i32>`, which does not implement the `Copy` trait
8    |                       |
9    |                       captured by this `Fn` closure
10
11 error[E0507]: cannot move out of `x`, a captured variable in an `FnMut` closure
12   --> $DIR/unboxed-closure-illegal-move.rs:19:35
13    |
14 LL |         let x = Box::new(0);
15    |             - captured outer variable
16 LL |         let f = to_fn_mut(|| drop(x));
17    |                           --      ^ move occurs because `x` has type `Box<i32>`, which does not implement the `Copy` trait
18    |                           |
19    |                           captured by this `FnMut` closure
20
21 error[E0507]: cannot move out of `x`, a captured variable in an `Fn` closure
22   --> $DIR/unboxed-closure-illegal-move.rs:28:36
23    |
24 LL |         let x = Box::new(0);
25    |             - captured outer variable
26 LL |         let f = to_fn(move || drop(x));
27    |                       -------      ^ move occurs because `x` has type `Box<i32>`, which does not implement the `Copy` trait
28    |                       |
29    |                       captured by this `Fn` closure
30
31 error[E0507]: cannot move out of `x`, a captured variable in an `FnMut` closure
32   --> $DIR/unboxed-closure-illegal-move.rs:32:40
33    |
34 LL |         let x = Box::new(0);
35    |             - captured outer variable
36 LL |         let f = to_fn_mut(move || drop(x));
37    |                           -------      ^ move occurs because `x` has type `Box<i32>`, which does not implement the `Copy` trait
38    |                           |
39    |                           captured by this `FnMut` closure
40
41 error: aborting due to 4 previous errors
42
43 For more information about this error, try `rustc --explain E0507`.