@@ -64,7 +64,7 @@ crate struct DocContext<'tcx> {
6464 crate ct_substs : RefCell < FxHashMap < DefId , clean:: Constant > > ,
6565 /// Table synthetic type parameter for `impl Trait` in argument position -> bounds
6666 crate impl_trait_bounds : RefCell < FxHashMap < ImplTraitParam , Vec < clean:: GenericBound > > > ,
67- crate fake_def_ids : RefCell < FxHashMap < CrateNum , DefIndex > > ,
67+ crate fake_def_ids : FxHashMap < CrateNum , DefIndex > ,
6868 /// Auto-trait or blanket impls processed so far, as `(self_ty, trait_def_id)`.
6969 // FIXME(eddyb) make this a `ty::TraitRef<'tcx>` set.
7070 crate generated_synthetics : RefCell < FxHashSet < ( Ty < ' tcx > , DefId ) > > ,
@@ -137,16 +137,14 @@ impl<'tcx> DocContext<'tcx> {
137137 /// [`RefCell`]: std::cell::RefCell
138138 /// [`Debug`]: std::fmt::Debug
139139 /// [`clean::Item`]: crate::clean::types::Item
140- crate fn next_def_id ( & self , crate_num : CrateNum ) -> DefId {
141- let mut fake_ids = self . fake_def_ids . borrow_mut ( ) ;
142-
143- let def_index = match fake_ids. entry ( crate_num) {
140+ crate fn next_def_id ( & mut self , crate_num : CrateNum ) -> DefId {
141+ let def_index = match self . fake_def_ids . entry ( crate_num) {
144142 Entry :: Vacant ( e) => {
145143 let num_def_idx = {
146144 let num_def_idx = if crate_num == LOCAL_CRATE {
147145 self . tcx . hir ( ) . definitions ( ) . def_path_table ( ) . num_def_ids ( )
148146 } else {
149- self . enter_resolver ( |r| r. cstore ( ) . num_def_ids ( crate_num) )
147+ self . resolver . borrow_mut ( ) . access ( |r| r. cstore ( ) . num_def_ids ( crate_num) )
150148 } ;
151149
152150 DefIndex :: from_usize ( num_def_idx)
0 commit comments