If a function takes an argument by reference, but later calls .clone() on it (or otherwise requires an impl Clone or impl Copy from it), lint that taking it by ownership allows the caller to pass in its memory rather than forcing a clone on the data.
I don't know if this is possible, but can it default to allow on public functions and deny on crate-private functions (due to the API change)?
If a function takes an argument by reference, but later calls
.clone()
on it (or otherwise requires animpl Clone
orimpl Copy
from it), lint that taking it by ownership allows the caller to pass in its memory rather than forcing a clone on the data.I don't know if this is possible, but can it default to
allow
on public functions anddeny
on crate-private functions (due to the API change)?