mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Merge pull request #6881 from roc-lang/empty-open-union
fix openness inference for empty tag
This commit is contained in:
commit
0d9db5bf2d
2 changed files with 6 additions and 14 deletions
|
@ -968,19 +968,10 @@ fn can_annotation_help(
|
|||
);
|
||||
|
||||
if tags.is_empty() {
|
||||
match ext {
|
||||
Some(_) => {
|
||||
// just `a` does not mean the same as `[]`, so even
|
||||
// if there are no fields, still make this a `TagUnion`,
|
||||
// not an EmptyTagUnion
|
||||
Type::TagUnion(
|
||||
Default::default(),
|
||||
TypeExtension::from_type(ext_type, is_implicit_openness),
|
||||
)
|
||||
}
|
||||
|
||||
None => Type::EmptyTagUnion,
|
||||
}
|
||||
} else {
|
||||
let mut tag_types = can_tags(
|
||||
env,
|
||||
|
@ -1173,6 +1164,7 @@ fn can_extension_type(
|
|||
local_aliases,
|
||||
references,
|
||||
);
|
||||
|
||||
if valid_extension_type(shallow_dealias_with_scope(scope, &ext_type)) {
|
||||
if matches!(loc_ann.extract_spaces().item, TypeAnnotation::Wildcard)
|
||||
&& matches!(ext_problem_kind, ExtensionTypeKind::TagUnion)
|
||||
|
|
|
@ -3,5 +3,5 @@ app "test" provides [main] to "./platform"
|
|||
walkHelp : {} -> [Continue {}, Break []]
|
||||
|
||||
main = when walkHelp {} is
|
||||
# ^^^^^^^^^^^ [Break [], Continue {}]
|
||||
# ^^^^^^^^^^^ [Break []w_a, Continue {}]
|
||||
Continue {} -> {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue