diff options
author | Florian Diebold <[email protected]> | 2019-01-06 23:03:30 +0000 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-01-06 23:05:19 +0000 |
commit | 2dfb5e6ac03e9cc6973dffe9ad69e858510604ee (patch) | |
tree | 7c33751c8d61debbed276bd1e56046ce230c43e5 /crates/ra_analysis/src/hover.rs | |
parent | 71f7d82e45145281b9aec5bcdc694524864e552b (diff) |
Improve types for node_expr / node_pat
Diffstat (limited to 'crates/ra_analysis/src/hover.rs')
-rw-r--r-- | crates/ra_analysis/src/hover.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/ra_analysis/src/hover.rs b/crates/ra_analysis/src/hover.rs index 067e5c12d..06632df4f 100644 --- a/crates/ra_analysis/src/hover.rs +++ b/crates/ra_analysis/src/hover.rs | |||
@@ -65,9 +65,9 @@ pub(crate) fn type_of(db: &RootDatabase, frange: FileRange) -> Cancelable<Option | |||
65 | )?); | 65 | )?); |
66 | let infer = function.infer(db)?; | 66 | let infer = function.infer(db)?; |
67 | let syntax_mapping = function.body_syntax_mapping(db)?; | 67 | let syntax_mapping = function.body_syntax_mapping(db)?; |
68 | if let Some(expr) = syntax_mapping.node_expr(node) { | 68 | if let Some(expr) = ast::Expr::cast(node).and_then(|e| syntax_mapping.node_expr(e)) { |
69 | Ok(Some(infer[expr].to_string())) | 69 | Ok(Some(infer[expr].to_string())) |
70 | } else if let Some(pat) = syntax_mapping.node_pat(node) { | 70 | } else if let Some(pat) = ast::Pat::cast(node).and_then(|p| syntax_mapping.node_pat(p)) { |
71 | Ok(Some(infer[pat].to_string())) | 71 | Ok(Some(infer[pat].to_string())) |
72 | } else { | 72 | } else { |
73 | Ok(None) | 73 | Ok(None) |