Skip to content

Commit cff0782

Browse files
committed
Move disambiguator increment to the DisambiguatorState type`
1 parent 1158db7 commit cff0782

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.
@@ -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 },

0 commit comments

Comments
 (0)