]> git.lizzy.rs Git - rust.git/commitdiff
Add default type param in TypeParam Node
authorEdwin Cheng <edwin0cheng@gmail.com>
Fri, 3 May 2019 04:18:35 +0000 (12:18 +0800)
committerEdwin Cheng <edwin0cheng@gmail.com>
Fri, 3 May 2019 04:18:35 +0000 (12:18 +0800)
crates/ra_syntax/src/ast/generated.rs
crates/ra_syntax/src/ast/traits.rs
crates/ra_syntax/src/grammar.ron

index fae371509f18c0864239006fbc5e167235abb205..19a3362ca1b48747082d06d6d6d55219149ada31 100644 (file)
@@ -4038,6 +4038,7 @@ fn to_owned(&self) -> TreeArc<TypeParam> { TreeArc::cast(self.syntax.to_owned())
 impl ast::NameOwner for TypeParam {}
 impl ast::AttrsOwner for TypeParam {}
 impl ast::TypeBoundsOwner for TypeParam {}
+impl ast::DefaultTypeParamOwner for TypeParam {}
 impl TypeParam {}
 
 // TypeParamList
index aaf07d731ff91b36ee4d6c917af229db4ee9bec5..1c90cf148b25ca7d80203a12cb17e04425e9c81a 100644 (file)
@@ -152,3 +152,9 @@ fn next(&mut self) -> Option<ast::Comment<'a>> {
         self.iter.by_ref().find_map(|el| el.as_token().and_then(ast::Comment::cast))
     }
 }
+
+pub trait DefaultTypeParamOwner: AstNode {
+    fn default_type(&self) -> Option<&ast::PathType> {
+        child_opt(self)
+    }
+}
index 5bdcf9c84b447dd368209698c7bb1a8ec2f12fcf..011ef0616fcd17384b8d0f010ab7c84aa3c51ae7 100644 (file)
@@ -563,7 +563,7 @@ Grammar(
                 ["lifetime_params", "LifetimeParam" ],
             ]
         ),
-        "TypeParam": ( traits: ["NameOwner", "AttrsOwner", "TypeBoundsOwner"] ),
+        "TypeParam": ( traits: ["NameOwner", "AttrsOwner", "TypeBoundsOwner", "DefaultTypeParamOwner"] ),
         "LifetimeParam": (
             traits: ["AttrsOwner"],
         ),