tap
tap copied to clipboard
Add traits for inline `AsRef` and `AsMut`.
<T as AsRef<U>>.as_ref(t)
is too verbose, and breaks reading right-to-left. I figured this calls for a helper trait for AsRef
and AsMut
invocations.
Type inference is pretty good for spots that need you to pass a reference, but for methods on those references, it's not so great. I encountered this when trying to use Path::display
on an OsStr
through impl AsRef<Path> for OsStr
.
Naming
I'm not married to the trait or method names. I'm actually torn between Reffed::reffed
and AsA::as_a
. Thoughts?
Documentation
Is what I wrote sufficient? I copied a bit of the style from Conv
, but mine is more sparse.