24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
error[E0507]: cannot move out of a shared reference
|
|
--> $DIR/suggest-clone-when-some-obligation-is-unmet.rs:20:28
|
|
|
|
|
LL | let mut copy: Vec<U> = map.clone().into_values().collect();
|
|
| ^^^^^^^^^^^ ------------- value moved due to this method call
|
|
| |
|
|
| move occurs because value has type `HashMap<T, U, Hash128_1>`, which does not implement the `Copy` trait
|
|
|
|
|
note: `HashMap::<K, V, S>::into_values` takes ownership of the receiver `self`, which moves value
|
|
--> $SRC_DIR/std/src/collections/hash/map.rs:LL:COL
|
|
help: you could `clone` the value and consume it, if the `Hash128_1: Clone` trait bound could be satisfied
|
|
|
|
|
LL | let mut copy: Vec<U> = <HashMap<T, U, Hash128_1> as Clone>::clone(&map.clone()).into_values().collect();
|
|
| ++++++++++++++++++++++++++++++++++++++++++++ +
|
|
help: consider annotating `Hash128_1` with `#[derive(Clone)]`
|
|
|
|
|
LL + #[derive(Clone)]
|
|
LL | pub struct Hash128_1;
|
|
|
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0507`.
|