diff --git a/library/std/src/keyword_docs.rs b/library/std/src/keyword_docs.rs index 1c55824ab9061..703c3d4093f29 100644 --- a/library/std/src/keyword_docs.rs +++ b/library/std/src/keyword_docs.rs @@ -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 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::into` and `Into::into`), you can clarify which method you'll use with +/// `>::into(my_thing)`. This is quite verbose, but fortunately, Rust's type +/// inference usually saves you from needing this, although it is occasionally necessary. +/// /// `as` can also be used with the `_` placeholder when the destination type can be inferred. Note /// that this can cause inference breakage and usually such code should use an explicit type for /// both clarity and stability. This is most useful when converting pointers using `as *const _` or