Why are `&` and `mut` annotations required at the invocation (i.e. use site) of a function instead of implicit conversion?

Which is what I expected then. Thus my prior point was not refuted:

You can't move what was already borrowed, just because you copy the reference.

Oh my. You thought I didn't know that. Dude I've been programming in assembly and C since 1980s. C++ in the 1990s. And polygot in languages in the 2000s.

I am out of this thread. Will not reply again. Thanks.

[Moderator note: Closing this thread, as the person who asked the original question has left and I don't think any further discussion is likely to be productive.]