]> git.lizzy.rs Git - rust.git/blob - tests/ui/moves/move-in-guard-1.stderr
fn-trait-closure test now pass on new solver
[rust.git] / tests / ui / moves / move-in-guard-1.stderr
1 error[E0382]: use of moved value: `x`
2   --> $DIR/move-in-guard-1.rs:10:24
3    |
4 LL |     let x: Box<_> = Box::new(1);
5    |         - move occurs because `x` has type `Box<i32>`, which does not implement the `Copy` trait
6 ...
7 LL |         (1, _) if take(x) => (),
8    |                        - value moved here
9 LL |         (_, 2) if take(x) => (),
10    |                        ^ value used here after move
11    |
12 note: consider changing this parameter type in function `take` to borrow instead if owning the value isn't necessary
13   --> $DIR/move-in-guard-1.rs:15:15
14    |
15 LL | fn take<T>(_: T) -> bool { false }
16    |    ----       ^ this parameter takes ownership of the value
17    |    |
18    |    in this function
19 help: consider cloning the value if the performance cost is acceptable
20    |
21 LL |         (1, _) if take(x.clone()) => (),
22    |                         ++++++++
23
24 error: aborting due to previous error
25
26 For more information about this error, try `rustc --explain E0382`.