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

@ -630,12 +630,14 @@ fn eq_list<'a>(
ident_ids: &mut IdentIds,
ctx: &mut Context<'a>,
layout_interner: &mut STLayoutInterner<'a>,
elem_layout: &Layout<'a>,
elem_layout: InLayout<'a>,
) -> Stmt<'a> {
use LowLevel::*;
let layout_isize = root.layout_isize;
let arena = root.arena;
let elem_layout = layout_interner.get(elem_layout);
// A "Box" layout (heap pointer to a single list element)
let box_union_layout = UnionLayout::NonNullableUnwrapped(root.arena.alloc([*elem_layout]));
let box_layout = Layout::Union(box_union_layout);