Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add traits for inline AsRef and AsMut. #12

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

KevinMGranger
Copy link

<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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant