Fix critical bug in unification algorithm

This commit is contained in:
Sam Vervaeck 2022-09-08 23:19:15 +02:00
parent b4fc8c87cb
commit e5563dd33d

View file

@ -1358,10 +1358,10 @@ export class Checker {
private unify(left: Type, right: Type, solution: TVSub, constraint: CEqual): boolean {
if (left.kind === TypeKind.Var && solution.has(left)) {
while (left.kind === TypeKind.Var && solution.has(left)) {
left = solution.get(left)!;
}
if (right.kind === TypeKind.Var && solution.has(right)) {
while (right.kind === TypeKind.Var && solution.has(right)) {
right = solution.get(right)!;
}