Correct path docs and add colon2 token to Path ast node
This commit is contained in:
parent
eedf11ae88
commit
a19b164661
@ -2323,10 +2323,10 @@ impl ArgList {
|
||||
/// generic parameters.
|
||||
///
|
||||
/// ```
|
||||
/// (0..10).❰ collect ❰ ::<Vec<_>> ❱ ❱();
|
||||
/// ❰ Vec ❰ ::<u8> ❰ ::with_capacity ❱ ❱ ❱(1024);
|
||||
/// ❰ <Foo as Bar> ❰ ::baz ❱ ❱();
|
||||
/// ❰ <bruh> ❰ ::bruuh ❱ ❱();
|
||||
/// (0..10).❰ ❰ collect ❱ ::<Vec<_>> ❱();
|
||||
/// ❰ ❰ ❰ Vec ❱ ::<u8> ❱ ::with_capacity ❱(1024);
|
||||
/// ❰ ❰ <❰ Foo ❱ as ❰ ❰ bar ❱ ::Bar ❱> ❱ ::baz ❱();
|
||||
/// ❰ ❰ <❰ bruh ❱> ❱ ::bruuh ❱();
|
||||
/// ```
|
||||
///
|
||||
/// [Reference](https://doc.rust-lang.org/reference/paths.html)
|
||||
@ -2336,15 +2336,21 @@ pub struct Path {
|
||||
}
|
||||
impl Path {
|
||||
pub fn segment(&self) -> Option<PathSegment> { support::child(&self.syntax) }
|
||||
pub fn coloncolon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![::]) }
|
||||
pub fn qualifier(&self) -> Option<Path> { support::child(&self.syntax) }
|
||||
}
|
||||
/// Segment of the path to a symbol.
|
||||
/// Only path segment of an absolute path holds the `::` token,
|
||||
/// all other `::` tokens that connect path segments reside under `Path` itself.`
|
||||
///
|
||||
/// ```
|
||||
/// (0..10).❰ collect ❱ ❰ ::<Vec<_>> ❱();
|
||||
/// ❰ Vec >| ❰ ::<u8> ❱ ❰ ::with_capacity ❱(1024);
|
||||
/// ❰ <Foo as Bar> ❱ ❰ ::baz ❱();
|
||||
/// ❰ <bruh> ❱ ❰ ::bruuh ❱();
|
||||
/// (0..10).❰ collect ❱ :: ❰ <Vec<_>> ❱();
|
||||
/// ❰ Vec ❱ :: ❰ <u8> ❱ :: ❰ with_capacity ❱(1024);
|
||||
/// ❰ <❰ Foo ❱ as ❰ bar ❱ :: ❰ Bar ❱> ❱ :: ❰ baz ❱();
|
||||
/// ❰ <❰ bruh ❱> ❱ :: ❰ bruuh ❱();
|
||||
///
|
||||
/// // Note that only in this case `::` token is inlcuded:
|
||||
/// ❰ ::foo ❱;
|
||||
/// ```
|
||||
///
|
||||
/// [Reference](https://doc.rust-lang.org/reference/paths.html)
|
||||
|
@ -1893,32 +1893,35 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
|
||||
T![')']
|
||||
}
|
||||
|
||||
// TODO: correct the example
|
||||
/// Path to a symbol. Includes single identifier names and elaborate paths with
|
||||
/// generic parameters.
|
||||
///
|
||||
/// ```
|
||||
/// (0..10).❰ collect ❰ ::<Vec<_>> ❱ ❱();
|
||||
/// ❰ Vec ❰ ::<u8> ❰ ::with_capacity ❱ ❱ ❱(1024);
|
||||
/// ❰ <Foo as Bar> ❰ ::baz ❱ ❱();
|
||||
/// ❰ <bruh> ❰ ::bruuh ❱ ❱();
|
||||
/// (0..10).❰ ❰ collect ❱ ::<Vec<_>> ❱();
|
||||
/// ❰ ❰ ❰ Vec ❱ ::<u8> ❱ ::with_capacity ❱(1024);
|
||||
/// ❰ ❰ <❰ Foo ❱ as ❰ ❰ bar ❱ ::Bar ❱> ❱ ::baz ❱();
|
||||
/// ❰ ❰ <❰ bruh ❱> ❱ ::bruuh ❱();
|
||||
/// ```
|
||||
///
|
||||
/// [Reference](https://doc.rust-lang.org/reference/paths.html)
|
||||
struct Path {
|
||||
segment: PathSegment,
|
||||
T![::],
|
||||
qualifier: Path,
|
||||
}
|
||||
|
||||
// TODO: verify the example
|
||||
// TODO: what RetType is doing here? is this for Fn() -> T syntax?
|
||||
/// Segment of the path to a symbol.
|
||||
/// Only path segment of an absolute path holds the `::` token,
|
||||
/// all other `::` tokens that connect path segments reside under `Path` itself.`
|
||||
///
|
||||
/// ```
|
||||
/// (0..10).❰ collect ❱ ❰ ::<Vec<_>> ❱();
|
||||
/// ❰ Vec >| ❰ ::<u8> ❱ ❰ ::with_capacity ❱(1024);
|
||||
/// ❰ <Foo as Bar> ❱ ❰ ::baz ❱();
|
||||
/// ❰ <bruh> ❱ ❰ ::bruuh ❱();
|
||||
/// (0..10).❰ collect ❱ :: ❰ <Vec<_>> ❱();
|
||||
/// ❰ Vec ❱ :: ❰ <u8> ❱ :: ❰ with_capacity ❱(1024);
|
||||
/// ❰ <❰ Foo ❱ as ❰ bar ❱ :: ❰ Bar ❱> ❱ :: ❰ baz ❱();
|
||||
/// ❰ <❰ bruh ❱> ❱ :: ❰ bruuh ❱();
|
||||
///
|
||||
/// // Note that only in this case `::` token is inlcuded:
|
||||
/// ❰ ::foo ❱;
|
||||
/// ```
|
||||
///
|
||||
/// [Reference](https://doc.rust-lang.org/reference/paths.html)
|
||||
@ -1956,7 +1959,6 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
|
||||
/// [Reference](https://doc.rust-lang.org/reference/paths.html#paths-in-expressions)
|
||||
struct TypeArg { TypeRef }
|
||||
|
||||
// TODO: verify inline type bounds example
|
||||
/// Associated type argument that is passed at generic instantiation site.
|
||||
/// ```
|
||||
/// use foo::<'a, u64, bool, ❰ Item = Bar ❱, 42>::baz;
|
||||
|
Loading…
x
Reference in New Issue
Block a user