use a NonNullableUnwrapped union for Box

This commit is contained in:
Folkert 2023-07-05 17:53:03 +02:00
parent b7e7059b36
commit a9813aeae7
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
2 changed files with 35 additions and 3 deletions

View file

@ -3206,8 +3206,13 @@ fn layout_from_flat_type<'a>(
let inner_var = args[0];
let inner_layout =
cached!(Layout::from_var(env, inner_var), criteria, env.subs);
let repr = LayoutRepr::Union(UnionLayout::NonNullableUnwrapped(
arena.alloc([inner_layout]),
));
let boxed_layout = env.cache.put_in(Layout {
repr: LayoutRepr::Boxed(inner_layout).direct(),
repr: repr.direct(),
semantic: SemanticRepr::NONE,
});