Remove redundant recursion limit

This commit is contained in:
Jonas Schievink 2022-01-14 17:45:57 +01:00
parent 9ba6cfa9c7
commit 72fd08d8d2

View file

@ -358,7 +358,6 @@ fn do_collect(
assoc_items.iter().copied(), assoc_items.iter().copied(),
tree_id, tree_id,
container, container,
100,
); );
let attribute_calls = let attribute_calls =
@ -375,12 +374,7 @@ fn collect_items(
assoc_items: impl Iterator<Item = AssocItem>, assoc_items: impl Iterator<Item = AssocItem>,
tree_id: item_tree::TreeId, tree_id: item_tree::TreeId,
container: ItemContainerId, container: ItemContainerId,
limit: usize,
) { ) {
if limit == 0 {
return;
}
let item_tree = tree_id.item_tree(db); let item_tree = tree_id.item_tree(db);
let crate_graph = db.crate_graph(); let crate_graph = db.crate_graph();
let cfg_options = &crate_graph[module.krate].cfg_options; let cfg_options = &crate_graph[module.krate].cfg_options;
@ -401,7 +395,7 @@ fn collect_items(
{ {
attr_calls.push((ast_id, call_id)); attr_calls.push((ast_id, call_id));
let res = expander.enter_expand_id(db, call_id); let res = expander.enter_expand_id(db, call_id);
collect_macro_items(db, items, attr_calls, module, expander, container, limit, res); collect_macro_items(db, items, attr_calls, module, expander, container, res);
continue 'items; continue 'items;
} }
} }
@ -435,9 +429,7 @@ fn collect_items(
let res = expander.enter_expand(db, call); let res = expander.enter_expand(db, call);
if let Ok(res) = res { if let Ok(res) = res {
collect_macro_items( collect_macro_items(db, items, attr_calls, module, expander, container, res);
db, items, attr_calls, module, expander, container, limit, res,
);
} }
} }
} }
@ -451,7 +443,6 @@ fn collect_macro_items(
module: ModuleId, module: ModuleId,
expander: &mut Expander, expander: &mut Expander,
container: ItemContainerId, container: ItemContainerId,
limit: usize,
res: ExpandResult<Option<(Mark, ast::MacroItems)>>, res: ExpandResult<Option<(Mark, ast::MacroItems)>>,
) { ) {
if let Some((mark, mac)) = res.value { if let Some((mark, mac)) = res.value {
@ -459,7 +450,7 @@ fn collect_macro_items(
let tree_id = item_tree::TreeId::new(src.file_id, None); let tree_id = item_tree::TreeId::new(src.file_id, None);
let item_tree = tree_id.item_tree(db); let item_tree = tree_id.item_tree(db);
let iter = item_tree.top_level_items().iter().filter_map(ModItem::as_assoc_item); let iter = item_tree.top_level_items().iter().filter_map(ModItem::as_assoc_item);
collect_items(db, items, attr_calls, module, expander, iter, tree_id, container, limit - 1); collect_items(db, items, attr_calls, module, expander, iter, tree_id, container);
expander.exit(db, mark); expander.exit(db, mark);
} }