[m-dev.] diff: bug fix for type specialization

Simon Taylor stayl at cs.mu.OZ.AU
Fri Sep 17 16:29:28 AEST 1999


 
> That change looks fine, but it might be a good idea to keep an
> XXX comment there so that if/when we fix that problem, we can change
> this code to use explicit type qualification again.

Index: make_hlds.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/make_hlds.m,v
retrieving revision 1.303
diff -u -u -r1.303 make_hlds.m
--- make_hlds.m	1999/09/17 05:26:15	1.303
+++ make_hlds.m	1999/09/17 06:19:03
@@ -926,6 +926,13 @@
 		varset__init(ArgVarSet0),
 		make_n_fresh_vars("HeadVar__", Arity,
 			ArgVarSet0, Args, ArgVarSet),
+		% XXX We could use explicit type qualifications here
+		% for the argument types, but explicit type qualification
+		% doesn't work correctly with type inference due to
+		% a bug somewhere in typecheck.m -- the explicitly declared
+		% types are not kept in sync with the predicate's tvarset
+		% after the first pass of type checking.
+		% map__from_corresponding_lists(Args, Types, VarTypes0).
 		map__init(VarTypes0),
 		goal_info_init(GoalInfo0),
 		set__list_to_set(Args, NonLocals),
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list