From 666303faf3c8b4215fde884451688084e298d6a8 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 24 Feb 2019 16:57:05 +0300 Subject: support upcastig in AST enum --- crates/ra_syntax/src/ast/generated.rs.tera | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'crates/ra_syntax/src/ast/generated.rs.tera') diff --git a/crates/ra_syntax/src/ast/generated.rs.tera b/crates/ra_syntax/src/ast/generated.rs.tera index ca7a28581..e2d4856cf 100644 --- a/crates/ra_syntax/src/ast/generated.rs.tera +++ b/crates/ra_syntax/src/ast/generated.rs.tera @@ -38,6 +38,15 @@ pub enum {{ node }}Kind<'a> { {%- endfor %} } +{%- for kind in methods.enum %} +impl<'a> From<&'a {{ kind }}> for &'a {{ node }} { + fn from(n: &'a {{ kind }}) -> &'a {{ node }} { + {{ node }}::cast(&n.syntax).unwrap() + } +} +{%- endfor %} + + impl AstNode for {{ node }} { fn cast(syntax: &SyntaxNode) -> Option<&Self> { match syntax.kind() { -- cgit v1.2.3