blob: 3b3f47b62d6fa44325dba719d24cd94940d2e723 [file] [log] [blame] [edit]
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`.