From 6ad63bae4a7d10b85a179b4d0868bbf37d750a13 Mon Sep 17 00:00:00 2001 From: johnvg Date: Fri, 8 Apr 2011 15:59:40 +0000 Subject: fix type checking of existential type variables that are used by a dynamic expression, but do not occur in the type of a dynamic pattern. TempQDV is used for existential type variables in a dynamic pattern. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1912 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/StdCompare.icl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'frontend') diff --git a/frontend/StdCompare.icl b/frontend/StdCompare.icl index 1ea7f1c..1e39be4 100644 --- a/frontend/StdCompare.icl +++ b/frontend/StdCompare.icl @@ -40,6 +40,8 @@ where (==) (CV tv1) (CV tv2) = tv1 == tv2 (==) (TempCV tv1) (TempCV tv2) = tv1 == tv2 (==) (TempQCV tv1) (TempQCV tv2)= tv1 == tv2 + (==) (TempQCDV tv1) (TempQCDV tv2)= tv1 == tv2 + (==) _ _ = False instance == TypeContext where @@ -107,6 +109,8 @@ where = varid1 == varid2 equal_constructor_args (TempQV varid1) (TempQV varid2) = varid1 == varid2 + equal_constructor_args (TempQDV varid1) (TempQDV varid2) + = varid1 == varid2 equal_constructor_args (TLifted varid1) (TLifted varid2) = varid1 == varid2 equal_constructor_args type1 type2 -- cgit v1.2.3