29 lines
1.1 KiB
Text
29 lines
1.1 KiB
Text
error[E0382]: use of moved value: `a`
|
|
--> $DIR/custom_mut.rs:12:20
|
|
|
|
|
LL | let a = CustomMut(&mut ());
|
|
| - move occurs because `a` has type `CustomMut<'_, ()>`, which does not implement the `Copy` trait
|
|
LL | let _ = method(a);
|
|
| - value moved here
|
|
LL | let _ = method(a);
|
|
| ^ value used here after move
|
|
|
|
|
note: consider changing this parameter type in function `method` to borrow instead if owning the value isn't necessary
|
|
--> $DIR/custom_mut.rs:7:14
|
|
|
|
|
LL | fn method(a: CustomMut<'_, ()>) {}
|
|
| ------ ^^^^^^^^^^^^^^^^^ this parameter takes ownership of the value
|
|
| |
|
|
| in this function
|
|
note: if `CustomMut<'_, ()>` implemented `Clone`, you could clone the value
|
|
--> $DIR/custom_mut.rs:4:1
|
|
|
|
|
LL | struct CustomMut<'a, T>(&'a mut T);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
|
|
...
|
|
LL | let _ = method(a);
|
|
| - you could clone this value
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|