File tree 1 file changed +8
-6
lines changed
1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -114,6 +114,13 @@ impl DisambiguatorState {
114
114
this. next . insert ( ( def_id, data) , index) ;
115
115
this
116
116
}
117
+
118
+ pub fn next ( & mut self , parent : LocalDefId , data : DefPathData ) -> u32 {
119
+ let next_disamb = self . next . entry ( ( parent, data) ) . or_insert ( 0 ) ;
120
+ let disambiguator = * next_disamb;
121
+ * next_disamb = next_disamb. checked_add ( 1 ) . expect ( "disambiguator overflow" ) ;
122
+ disambiguator
123
+ }
117
124
}
118
125
119
126
/// The definition table containing node definitions.
@@ -392,12 +399,7 @@ impl Definitions {
392
399
assert ! ( data != DefPathData :: CrateRoot ) ;
393
400
394
401
// Find the next free disambiguator for this key.
395
- let disambiguator = {
396
- let next_disamb = disambiguator. next . entry ( ( parent, data) ) . or_insert ( 0 ) ;
397
- let disambiguator = * next_disamb;
398
- * next_disamb = next_disamb. checked_add ( 1 ) . expect ( "disambiguator overflow" ) ;
399
- disambiguator
400
- } ;
402
+ let disambiguator = disambiguator. next ( parent, data) ;
401
403
let key = DefKey {
402
404
parent : Some ( parent. local_def_index ) ,
403
405
disambiguated_data : DisambiguatedDefPathData { data, disambiguator } ,
You can’t perform that action at this time.
0 commit comments