Skip to content

Commit e490865

Browse files
committed
Move disambiguator increment to the DisambiguatorState type`
1 parent e9abafb commit e490865

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

compiler/rustc_hir/src/definitions.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff 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.
@@ -392,12 +399,7 @@ impl Definitions {
392399
assert!(data != DefPathData::CrateRoot);
393400

394401
// 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);
401403
let key = DefKey {
402404
parent: Some(parent.local_def_index),
403405
disambiguated_data: DisambiguatedDefPathData { data, disambiguator },

0 commit comments

Comments
 (0)