Don't assume tag id is in the tag arguments in making decision tree

This commit is contained in:
Ayaz Hafiz 2022-12-29 12:26:13 -06:00
parent a9b02aed5e
commit d6669aed2e
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58

View file

@ -9698,8 +9698,7 @@ fn from_can_pattern_help<'a>(
ctors.push(Ctor {
tag_id: TagId(i as _),
name: CtorName::Tag(tag_name.expect_tag_ref().clone()),
// don't include tag discriminant in arity
arity: args.len() - 1,
arity: args.len(),
})
}
@ -9855,8 +9854,7 @@ fn from_can_pattern_help<'a>(
ctors.push(Ctor {
tag_id: TagId(!nullable_id as _),
name: CtorName::Tag(nullable_name.expect_tag_ref().clone()),
// FIXME drop tag
arity: other_fields.len() - 1,
arity: other_fields.len(),
});
let union = roc_exhaustive::Union {
@ -9869,7 +9867,6 @@ fn from_can_pattern_help<'a>(
let it = if tag_name == nullable_name.expect_tag_ref() {
[].iter()
} else {
// FIXME drop tag
argument_layouts.iter()
};