From 83226621e3d57bee6e3f97bb94f4b05a12bdae00 Mon Sep 17 00:00:00 2001 From: Sam Vervaeck Date: Thu, 15 Sep 2022 16:04:02 +0200 Subject: [PATCH] Add support for inferring kinds from ArrowTypeExpression --- src/checker.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/checker.ts b/src/checker.ts index d5a572c33..8867d0a92 100644 --- a/src/checker.ts +++ b/src/checker.ts @@ -867,6 +867,14 @@ export class Checker { private inferKindFromTypeExpression(node: TypeExpression, env: KindEnv): Kind { switch (node.kind) { + case SyntaxKind.ArrowTypeExpression: + { + for (const param of node.paramTypeExprs) { + this.unifyKind(this.inferKindFromTypeExpression(param, env), new KStar(), node); + } + this.unifyKind(this.inferKindFromTypeExpression(node.returnTypeExpr, env), new KStar(), node); + return new KStar(); + } case SyntaxKind.VarTypeExpression: case SyntaxKind.ReferenceTypeExpression: {