List takes interned element

This commit is contained in:
Ayaz Hafiz 2022-12-29 08:52:37 -06:00
parent f2a42affd1
commit e4b5252e51
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
16 changed files with 173 additions and 83 deletions

View file

@ -444,10 +444,11 @@ impl<'a> CodeGenHelp<'a> {
layout: Layout<'a>,
) -> Layout<'a> {
match layout {
Layout::Builtin(Builtin::List(v)) => Layout::Builtin(Builtin::List(
self.arena
.alloc(self.replace_rec_ptr(ctx, layout_interner, *v)),
)),
Layout::Builtin(Builtin::List(v)) => {
let v = self.replace_rec_ptr(ctx, layout_interner, *layout_interner.get(v));
let v = layout_interner.insert(self.arena.alloc(v));
Layout::Builtin(Builtin::List(v))
}
Layout::Builtin(_) => layout,