-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Document fully-qualified syntax in as
' keyword doc
#142670
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
base: master
Are you sure you want to change the base?
Document fully-qualified syntax in as
' keyword doc
#142670
Conversation
r? @ibraheemdev rustbot has assigned @ibraheemdev. Use |
library/std/src/keyword_docs.rs
Outdated
@@ -24,6 +24,13 @@ | |||
/// (`u8`, `bool`, `str`, pointers, ...) whereas `From` and `Into` also works with types like | |||
/// `String` or `Vec`. | |||
/// | |||
/// You'll also find with `From` and `Into`, and indeed all traits, that `as` is used for the | |||
/// _fully qualified syntax_, a means of clarifying ambiguous method calls. If you have a type which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would use fully qualified path here over syntax because that's more precise and what The Reference and rustc calls it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok I couldn't find it in the reference. It's called syntax in the rust book, but I certainly like path better.
library/std/src/keyword_docs.rs
Outdated
@@ -24,6 +24,13 @@ | |||
/// (`u8`, `bool`, `str`, pointers, ...) whereas `From` and `Into` also works with types like | |||
/// `String` or `Vec`. | |||
/// | |||
/// You'll also find with `From` and `Into`, and indeed all traits, that `as` is used for the | |||
/// _fully qualified syntax_, a means of clarifying ambiguous method calls. If you have a type which |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not just for method calls, it's for all three kinds of associated item: Function, constant and type.
7cfd0dd
to
a2d247b
Compare
/// _fully qualified path_, a means of clarifying ambiguous method calls, constants, and types. | ||
/// If you have a type which implements two traits with identical method names (e.g. | ||
/// `Into<u32>::into` and `Into<u64>::into`), you can clarify which method you'll use with | ||
/// `<MyThing as Into<u32>>::into(my_thing)`. This is quite verbose, but fortunately, Rust's type |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there any other std traits where this is commonly needed? A small downside with this example is that this is something that should just be written u32::from(my_thing)
🙂
No description provided.