Skip to content

Commit d0d5213

Browse files
committed
cleanup
1 parent 8c5a82b commit d0d5213

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

crates/ra_ide/src/goto_type_definition.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use hir::db::AstDatabase;
44
use ra_ide_db::RootDatabase;
5-
use ra_syntax::{ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset};
5+
use ra_syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset};
66

77
use crate::{
88
display::ToNav, expand::descend_into_macros, FilePosition, NavigationTarget, RangeInfo,
@@ -44,12 +44,12 @@ pub(crate) fn goto_type_definition(
4444
let token: SyntaxToken = sema.descend_into_macros(token);
4545

4646
let (ty, node) = sema.ancestors_with_macros(token.parent()).find_map(|node| {
47-
let ty = if let Some(expr) = ast::Expr::cast(node.clone()) {
48-
sema.type_of_expr(&expr)?
49-
} else if let Some(pat) = ast::Pat::cast(node.clone()) {
50-
sema.type_of_pat(&pat)?
51-
} else {
52-
return None;
47+
let ty = match_ast! {
48+
match node {
49+
ast::Expr(expr) => { sema.type_of_expr(&expr)? },
50+
ast::Pat(pat) => { sema.type_of_pat(&pat)? },
51+
_ => { return None },
52+
}
5353
};
5454

5555
Some((ty, node))

0 commit comments

Comments
 (0)