This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -114,6 +114,13 @@ impl DisambiguatorState {
114114 this. next . insert ( ( def_id, data) , index) ;
115115 this
116116 }
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+ }
117124}
118125
119126/// The definition table containing node definitions.
@@ -394,12 +401,7 @@ impl Definitions {
394401 assert ! ( data != DefPathData :: CrateRoot ) ;
395402
396403 // Find the next free disambiguator for this key.
397- let disambiguator = {
398- let next_disamb = disambiguator. next . entry ( ( parent, data) ) . or_insert ( 0 ) ;
399- let disambiguator = * next_disamb;
400- * next_disamb = next_disamb. checked_add ( 1 ) . expect ( "disambiguator overflow" ) ;
401- disambiguator
402- } ;
404+ let disambiguator = disambiguator. next ( parent, data) ;
403405 let key = DefKey {
404406 parent : Some ( parent. local_def_index ) ,
405407 disambiguated_data : DisambiguatedDefPathData { data, disambiguator } ,
You can’t perform that action at this time.
0 commit comments