[resolve] Use unwrap_or_else
instead of unwrap_or
in a hot path
This improves the performance of the `resolve_crate` function by 30% for a very large single file crate with auto-generated C bindings.
This commit is contained in:
parent
31ee872db5
commit
1c1c591c81
1 changed files with 3 additions and 4 deletions
|
@ -1725,10 +1725,9 @@ impl<'a> Resolver<'a> {
|
||||||
Scope::MacroRules(binding.parent_macro_rules_scope)
|
Scope::MacroRules(binding.parent_macro_rules_scope)
|
||||||
}
|
}
|
||||||
MacroRulesScope::Invocation(invoc_id) => Scope::MacroRules(
|
MacroRulesScope::Invocation(invoc_id) => Scope::MacroRules(
|
||||||
self.output_macro_rules_scopes
|
self.output_macro_rules_scopes.get(&invoc_id).cloned().unwrap_or_else(
|
||||||
.get(&invoc_id)
|
|| self.invocation_parent_scopes[&invoc_id].macro_rules,
|
||||||
.cloned()
|
),
|
||||||
.unwrap_or(self.invocation_parent_scopes[&invoc_id].macro_rules),
|
|
||||||
),
|
),
|
||||||
MacroRulesScope::Empty => Scope::Module(module),
|
MacroRulesScope::Empty => Scope::Module(module),
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue