mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
2ab8480605
This subsumes the suggestions to borrow arguments with `AsRef`/`Borrow` bounds and those to borrow arguments with `Fn` and `FnMut` bounds. It works for other traits implemented on references as well, such as `std::io::Read`, `std::io::Write`, and `core::fmt::Write`. Incidentally, by making the logic for suggesting borrowing closures general, this removes some spurious suggestions to mutably borrow `FnMut` closures in assignments, as well as an unhelpful suggestion to add a `Clone` constraint to an `impl Fn` argument.
18 lines
532 B
Plaintext
18 lines
532 B
Plaintext
error[E0382]: use of moved value: `hello`
|
|
--> $DIR/not-copy-closure.rs:10:13
|
|
|
|
|
LL | let b = hello;
|
|
| ----- value moved here
|
|
LL | let c = hello;
|
|
| ^^^^^ value used here after move
|
|
|
|
|
note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `a` out of its environment
|
|
--> $DIR/not-copy-closure.rs:6:9
|
|
|
|
|
LL | a += 1;
|
|
| ^
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|