represent byte/bool closure as unit

This commit is contained in:
Folkert 2021-08-14 18:56:05 +02:00
parent 3ea63ee18f
commit 2c1ab68ea7
2 changed files with 28 additions and 6 deletions

View file

@ -415,13 +415,10 @@ impl<'a> LambdaSet<'a> {
use UnionVariant::*;
match variant {
Never => Layout::Union(UnionLayout::NonRecursive(&[])),
Unit | UnitWithArguments => Layout::Struct(&[]),
BoolUnion { .. } => {
// Layout::Builtin(Builtin::Int1),
Unit | UnitWithArguments | BoolUnion { .. } | ByteUnion(_) => {
// no useful information to store
Layout::Struct(&[])
}
ByteUnion(_) => Layout::Builtin(Builtin::Int8),
Newtype {
arguments: layouts, ..
} => Layout::Struct(layouts.into_bump_slice()),