mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 22:34:45 +00:00
deliberately ignore uniqueness tests with rigids/recursive tag unions
This commit is contained in:
parent
f758958d4a
commit
22319aa116
3 changed files with 33 additions and 5 deletions
|
@ -894,6 +894,7 @@ fn check_for_infinite_type(
|
|||
uniq_var,
|
||||
tag_union_var,
|
||||
ext_var,
|
||||
description.rank,
|
||||
&tags,
|
||||
);
|
||||
}
|
||||
|
@ -914,6 +915,7 @@ fn check_for_infinite_type(
|
|||
uniq_var,
|
||||
tag_union_var,
|
||||
ext_var,
|
||||
description.rank,
|
||||
&tags,
|
||||
);
|
||||
}
|
||||
|
@ -958,6 +960,7 @@ fn correct_recursive_attr(
|
|||
uniq_var: Variable,
|
||||
tag_union_var: Variable,
|
||||
ext_var: Variable,
|
||||
recursion_var_rank: Rank,
|
||||
tags: &MutMap<TagName, Vec<Variable>>,
|
||||
) {
|
||||
let rec_var = subs.fresh_unnamed_flex_var();
|
||||
|
@ -966,6 +969,15 @@ fn correct_recursive_attr(
|
|||
let content = content_attr(uniq_var, rec_var);
|
||||
subs.set_content(attr_var, content);
|
||||
|
||||
subs.set_rank(rec_var, recursion_var_rank);
|
||||
subs.set_content(
|
||||
rec_var,
|
||||
Content::RecursionVar {
|
||||
opt_name: None,
|
||||
structure: recursive,
|
||||
},
|
||||
);
|
||||
|
||||
let mut new_tags = MutMap::default();
|
||||
|
||||
let new_ext_var = subs.explicit_substitute(recursive, attr_var, ext_var);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue