@@ -56,7 +56,7 @@ use crate::{
5656 item_scope:: BuiltinShadowMode ,
5757 item_tree:: FieldsShape ,
5858 lang_item:: LangItem ,
59- nameres:: { DefMap , LocalDefMap , MacroSubNs } ,
59+ nameres:: { DefMap , LocalDefMap , MacroSubNs , block_def_map } ,
6060 type_ref:: {
6161 ArrayType , ConstRef , FnType , LifetimeRef , LifetimeRefId , Mutability , PathId , Rawness ,
6262 RefType , TraitBoundModifier , TraitRef , TypeBound , TypeRef , TypeRefId , UseArgRef ,
@@ -436,8 +436,8 @@ pub struct ExprCollector<'db> {
436436 db : & ' db dyn DefDatabase ,
437437 cfg_options : & ' db CfgOptions ,
438438 expander : Expander ,
439- def_map : Arc < DefMap > ,
440- local_def_map : Arc < LocalDefMap > ,
439+ def_map : & ' db DefMap ,
440+ local_def_map : & ' db LocalDefMap ,
441441 module : ModuleId ,
442442 pub store : ExpressionStoreBuilder ,
443443 pub ( crate ) source_map : ExpressionStoreSourceMap ,
@@ -544,7 +544,7 @@ impl ExprCollector<'_> {
544544 current_file_id : HirFileId ,
545545 ) -> ExprCollector < ' _ > {
546546 let ( def_map, local_def_map) = module. local_def_map ( db) ;
547- let expander = Expander :: new ( db, current_file_id, & def_map) ;
547+ let expander = Expander :: new ( db, current_file_id, def_map) ;
548548 ExprCollector {
549549 db,
550550 cfg_options : module. krate ( ) . cfg_options ( db) ,
@@ -1947,7 +1947,7 @@ impl ExprCollector<'_> {
19471947 let resolver = |path : & _ | {
19481948 self . def_map
19491949 . resolve_path (
1950- & self . local_def_map ,
1950+ self . local_def_map ,
19511951 self . db ,
19521952 module,
19531953 path,
@@ -2163,12 +2163,12 @@ impl ExprCollector<'_> {
21632163 } ;
21642164
21652165 let ( module, def_map) =
2166- match block_id. map ( |block_id| ( self . db . block_def_map ( block_id) , block_id) ) {
2166+ match block_id. map ( |block_id| ( block_def_map ( self . db , block_id) , block_id) ) {
21672167 Some ( ( def_map, block_id) ) => {
21682168 self . store . block_scopes . push ( block_id) ;
21692169 ( def_map. module_id ( DefMap :: ROOT ) , def_map)
21702170 }
2171- None => ( self . module , self . def_map . clone ( ) ) ,
2171+ None => ( self . module , self . def_map ) ,
21722172 } ;
21732173 let prev_def_map = mem:: replace ( & mut self . def_map , def_map) ;
21742174 let prev_local_module = mem:: replace ( & mut self . module , module) ;
@@ -2247,7 +2247,7 @@ impl ExprCollector<'_> {
22472247 // This could also be a single-segment path pattern. To
22482248 // decide that, we need to try resolving the name.
22492249 let ( resolved, _) = self . def_map . resolve_path (
2250- & self . local_def_map ,
2250+ self . local_def_map ,
22512251 self . db ,
22522252 self . module . local_id ,
22532253 & name. clone ( ) . into ( ) ,
0 commit comments