[m-rev.] diff: fix modecheck_unify bug

Zoltan Somogyi zs at cs.mu.OZ.AU
Wed May 14 09:54:45 AEST 2003


This has already been reviewed by Fergus.

Zoltan.

compiler/modecheck_unify.m:
	Fix a bug: unifications involving values of types with user-defined
	equality cannot be simple tests.

Index: modecheck_unify.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/modecheck_unify.m,v
retrieving revision 1.56
diff -u -b -r1.56 modecheck_unify.m
--- modecheck_unify.m	21 Mar 2003 05:52:06 -0000	1.56
+++ modecheck_unify.m	13 May 2003 03:59:10 -0000
@@ -840,7 +840,9 @@
 	;
 		map__lookup(VarTypes, X, Type),
 		(
-			type_is_atomic(Type, ModuleInfo0)
+			type_is_atomic(Type, ModuleInfo0),
+			not type_has_user_defined_equality_pred(ModuleInfo0,
+				Type, _)
 		->
 			Unification = simple_test(X, Y),
 			ModeInfo = ModeInfo0
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list