Add (..)
syntax for RTN
This commit is contained in:
parent
104aacb49f
commit
8b592db27a
44 changed files with 355 additions and 201 deletions
|
@ -167,6 +167,9 @@ pub enum GenericArgs {
|
|||
AngleBracketed(AngleBracketedArgs),
|
||||
/// The `(A, B)` and `C` in `Foo(A, B) -> C`.
|
||||
Parenthesized(ParenthesizedArgs),
|
||||
/// Associated return type bounds, like `T: Trait<method(..): Send>`
|
||||
/// which applies the `Send` bound to the return-type of `method`.
|
||||
ReturnTypeNotation(Span),
|
||||
}
|
||||
|
||||
impl GenericArgs {
|
||||
|
@ -174,14 +177,11 @@ impl GenericArgs {
|
|||
matches!(self, AngleBracketed(..))
|
||||
}
|
||||
|
||||
pub fn is_parenthesized(&self) -> bool {
|
||||
matches!(self, Parenthesized(..))
|
||||
}
|
||||
|
||||
pub fn span(&self) -> Span {
|
||||
match self {
|
||||
AngleBracketed(data) => data.span,
|
||||
Parenthesized(data) => data.span,
|
||||
ReturnTypeNotation(span) => *span,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -235,15 +235,15 @@ impl AngleBracketedArg {
|
|||
}
|
||||
}
|
||||
|
||||
impl Into<Option<P<GenericArgs>>> for AngleBracketedArgs {
|
||||
fn into(self) -> Option<P<GenericArgs>> {
|
||||
Some(P(GenericArgs::AngleBracketed(self)))
|
||||
impl Into<P<GenericArgs>> for AngleBracketedArgs {
|
||||
fn into(self) -> P<GenericArgs> {
|
||||
P(GenericArgs::AngleBracketed(self))
|
||||
}
|
||||
}
|
||||
|
||||
impl Into<Option<P<GenericArgs>>> for ParenthesizedArgs {
|
||||
fn into(self) -> Option<P<GenericArgs>> {
|
||||
Some(P(GenericArgs::Parenthesized(self)))
|
||||
impl Into<P<GenericArgs>> for ParenthesizedArgs {
|
||||
fn into(self) -> P<GenericArgs> {
|
||||
P(GenericArgs::Parenthesized(self))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue