about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2021-11-27 18:18:00 +0300
committerAleksey Kladov <aleksey.kladov@gmail.com>2021-11-27 18:18:00 +0300
commita1aa8212effd87cc04a912a23c46340c74070da9 (patch)
tree7a4bc3227007fada2503ea48c0dea834270aef13
parent90c435519d7194008cdf2352fb923e1d0dc6f104 (diff)
downloadrust-a1aa8212effd87cc04a912a23c46340c74070da9.tar.gz
rust-a1aa8212effd87cc04a912a23c46340c74070da9.zip
minor: if-let-else to shorter match
-rw-r--r--crates/hir_def/src/item_tree.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs
index 12fa34b73ab..db2398fbdee 100644
--- a/crates/hir_def/src/item_tree.rs
+++ b/crates/hir_def/src/item_tree.rs
@@ -105,15 +105,14 @@ pub struct ItemTree {
 impl ItemTree {
     pub(crate) fn file_item_tree_query(db: &dyn DefDatabase, file_id: HirFileId) -> Arc<ItemTree> {
         let _p = profile::span("item_tree_query").detail(|| format!("{:?}", file_id));
-        let syntax = if let Some(node) = db.parse_or_expand(file_id) {
-            if node.kind() == SyntaxKind::ERROR {
-                // FIXME: not 100% sure why these crop up, but return an empty tree to avoid a panic
-                return Default::default();
-            }
-            node
-        } else {
-            return Default::default();
+        let syntax = match db.parse_or_expand(file_id) {
+            Some(node) => node,
+            None => return Default::default(),
         };
+        if syntax.kind() == SyntaxKind::ERROR {
+            // FIXME: not 100% sure why these crop up, but return an empty tree to avoid a panic
+            return Default::default();
+        }
 
         let hygiene = Hygiene::new(db.upcast(), file_id);
         let ctx = lower::Ctx::new(db, hygiene.clone(), file_id);