Skip to content

Commit c2cae7b

Browse files
committed
Avoid recursion in de-gensym functions.
1 parent 8c465b4 commit c2cae7b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/libsyntax_pos/symbol.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ impl Interner {
492492
if (symbol.0.as_usize()) < self.strings.len() {
493493
symbol
494494
} else {
495-
self.interned(self.gensyms[(SymbolIndex::MAX_AS_U32 - symbol.0.as_u32()) as usize])
495+
self.gensyms[(SymbolIndex::MAX_AS_U32 - symbol.0.as_u32()) as usize]
496496
}
497497
}
498498

@@ -513,7 +513,10 @@ impl Interner {
513513
pub fn get(&self, symbol: Symbol) -> &str {
514514
match self.strings.get(symbol.0.as_usize()) {
515515
Some(string) => string,
516-
None => self.get(self.gensyms[(SymbolIndex::MAX_AS_U32 - symbol.0.as_u32()) as usize]),
516+
None => {
517+
let symbol = self.gensyms[(SymbolIndex::MAX_AS_U32 - symbol.0.as_u32()) as usize];
518+
self.strings[symbol.0.as_usize()]
519+
}
517520
}
518521
}
519522
}

0 commit comments

Comments
 (0)