This commit is contained in:
Folkert 2021-05-22 19:29:15 +02:00
parent 3c8c727d8d
commit 9e16c8c5ce
2 changed files with 3 additions and 7 deletions

View file

@ -1894,10 +1894,6 @@ impl<'a> LayoutIds<'a> {
/// Returns a LayoutId which is unique for the given symbol and layout.
/// If given the same symbol and same layout, returns the same LayoutId.
pub fn get<'b>(&mut self, symbol: Symbol, layout: &'b Layout<'a>) -> LayoutId {
self.get_new(symbol, *layout)
}
pub fn get_new(&mut self, symbol: Symbol, layout: Layout<'a>) -> LayoutId {
// Note: this function does some weird stuff to satisfy the borrow checker.
// There's probably a nicer way to write it that still works.
let ids = self.by_symbol.entry(symbol).or_insert_with(|| IdsByLayout {
@ -1911,7 +1907,7 @@ impl<'a> LayoutIds<'a> {
// If we had to default to next_id, it must not have been found;
// store the ID we're going to return and increment next_id.
if answer == ids.next_id {
ids.by_id.insert(layout, ids.next_id);
ids.by_id.insert(*layout, ids.next_id);
ids.next_id += 1;
}