Primary takeaways:

The primary feelings here are that .use does address the issue, and it’s likely the concerns about function-calling convenience are understated, but .use doesn’t let you skip thinking about lifetimes in the way that Copy does. Should Rust have that power? It certainly would make UI/async/server code easier to write, but more “work” would need to be implicit with more deref-like sugar.

Deref does set a precedent for “spooky action at a distance” (see examples below) but Deref’s signature limits implicit allocations and locks/atomics since Deref is lending. .use brings in more forms of spooky action:

This isn’t terrible per se - we already have some spooky action - but there are certainly possibilities for misuse.