aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/item_tree.rs
diff options
context:
space:
mode:
authorEdwin Cheng <[email protected]>2021-03-18 11:39:40 +0000
committerEdwin Cheng <[email protected]>2021-03-18 12:19:15 +0000
commit13f30e9ef5f3d78fdaef450e935782a2edd9f88e (patch)
treefd0d6f5e6c3123ddd59479c9f43901abcc19ea27 /crates/hir_def/src/item_tree.rs
parentf7fbea509f1e5f840e715c912ee38aa997d1bfbc (diff)
Handle inner recursive macro rules cases
Diffstat (limited to 'crates/hir_def/src/item_tree.rs')
-rw-r--r--crates/hir_def/src/item_tree.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs
index 7bb22c4c4..4477bdd36 100644
--- a/crates/hir_def/src/item_tree.rs
+++ b/crates/hir_def/src/item_tree.rs
@@ -115,6 +115,10 @@ impl ItemTree {
115 // still need to collect inner items. 115 // still need to collect inner items.
116 ctx.lower_inner_items(stmt.syntax()) 116 ctx.lower_inner_items(stmt.syntax())
117 }, 117 },
118 ast::Item(item) => {
119 // Macros can expand to stmt and other item, and we add it as top level item
120 ctx.lower_single_item(item)
121 },
118 _ => { 122 _ => {
119 panic!("cannot create item tree from {:?} {}", syntax, syntax); 123 panic!("cannot create item tree from {:?} {}", syntax, syntax);
120 }, 124 },