From b5e72660b71f00d34aed399b705e74929979cdf5 Mon Sep 17 00:00:00 2001 From: Gleb Koval Date: Fri, 7 Feb 2025 17:19:16 +0000 Subject: [PATCH] fix: make free error message more clear --- src/main/wacc/typeChecker.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/wacc/typeChecker.scala b/src/main/wacc/typeChecker.scala index 8c01379..c0ed0c1 100644 --- a/src/main/wacc/typeChecker.scala +++ b/src/main/wacc/typeChecker.scala @@ -125,7 +125,7 @@ object typeChecker { Constraint.IsEither( KnownType.Array(?), KnownType.Pair(?, ?), - "free must be an array or pair" + "free must be applied to an array or pair" ) ) case Return(expr) => @@ -163,6 +163,7 @@ object typeChecker { checkValue(elem, Constraint.Is(KnownType.Int, "array index must be an int")) acc match { case KnownType.Array(innerTy) => Some(innerTy) + case ? => Some(?) case nonArrayTy => ctx.error( Error.TypeMismatch(elem.pos, KnownType.Array(?), acc, "cannot index into a non-array")