diff options
author | Edwin Cheng <[email protected]> | 2021-03-18 11:39:40 +0000 |
---|---|---|
committer | Edwin Cheng <[email protected]> | 2021-03-18 12:19:15 +0000 |
commit | 13f30e9ef5f3d78fdaef450e935782a2edd9f88e (patch) | |
tree | fd0d6f5e6c3123ddd59479c9f43901abcc19ea27 /crates/hir_def/src/item_tree.rs | |
parent | f7fbea509f1e5f840e715c912ee38aa997d1bfbc (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.rs | 4 |
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 | }, |