mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 06:44:46 +00:00
always unify full alias body, even when alias names match
This commit is contained in:
parent
fd77a18908
commit
81af929f8f
2 changed files with 14 additions and 8 deletions
|
@ -1121,7 +1121,7 @@ fn adjust_rank_content(
|
||||||
rank
|
rank
|
||||||
}
|
}
|
||||||
|
|
||||||
Func(arg_vars, _closure_var, ret_var) => {
|
Func(arg_vars, closure_var, ret_var) => {
|
||||||
let mut rank = adjust_rank(subs, young_mark, visit_mark, group_rank, ret_var);
|
let mut rank = adjust_rank(subs, young_mark, visit_mark, group_rank, ret_var);
|
||||||
|
|
||||||
// TODO investigate further.
|
// TODO investigate further.
|
||||||
|
@ -1129,13 +1129,15 @@ fn adjust_rank_content(
|
||||||
// My theory is that because the closure_var contains variables already
|
// My theory is that because the closure_var contains variables already
|
||||||
// contained in the signature only, it does not need to be part of the rank
|
// contained in the signature only, it does not need to be part of the rank
|
||||||
// calculuation
|
// calculuation
|
||||||
// rank = rank.max(adjust_rank(
|
if false {
|
||||||
// subs,
|
rank = rank.max(adjust_rank(
|
||||||
// young_mark,
|
subs,
|
||||||
// visit_mark,
|
young_mark,
|
||||||
// group_rank,
|
visit_mark,
|
||||||
// closure_var,
|
group_rank,
|
||||||
// ));
|
closure_var,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
for var in arg_vars {
|
for var in arg_vars {
|
||||||
rank = rank.max(adjust_rank(subs, young_mark, visit_mark, group_rank, var));
|
rank = rank.max(adjust_rank(subs, young_mark, visit_mark, group_rank, var));
|
||||||
|
|
|
@ -179,6 +179,10 @@ fn unify_alias(
|
||||||
|
|
||||||
problems.extend(merge(subs, &ctx, other_content.clone()));
|
problems.extend(merge(subs, &ctx, other_content.clone()));
|
||||||
|
|
||||||
|
if problems.is_empty() {
|
||||||
|
problems.extend(unify_pool(subs, pool, real_var, *other_real_var))
|
||||||
|
}
|
||||||
|
|
||||||
problems
|
problems
|
||||||
} else {
|
} else {
|
||||||
mismatch!()
|
mismatch!()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue