From 388e3356f71daffa62f1d4157e1e07e4c68f218a Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Thu, 15 Oct 2009 12:28:10 +0000 Subject: Fix Trac #959: a long-standing bug in instantiating otherwise-unbound type variables DO NOT MERGE TO GHC 6.12 branch (Reason: interface file format change.) The typechecker needs to instantiate otherwise-unconstraint type variables to an appropriately-kinded constant type, but we didn't have a supply of arbitrarily-kinded tycons for this purpose. Now we do. The details are described in Note [Any types] in TysPrim. The fundamental change is that there is a new sort of TyCon, namely AnyTyCon, defined in TyCon. Ter's a small change to interface-file binary format, because the new AnyTyCons have to be serialised. I tided up the handling of uniques a bit too, so that mkUnique is not exported, so that we can see all the different name spaces in one module. --- compiler/vectorise/VectUtils.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/vectorise') diff --git a/compiler/vectorise/VectUtils.hs b/compiler/vectorise/VectUtils.hs index dcef9d8e4e..ea647c733f 100644 --- a/compiler/vectorise/VectUtils.hs +++ b/compiler/vectorise/VectUtils.hs @@ -98,7 +98,7 @@ mkBuiltinTyConApps get_tc tys ty mk tc ty1 ty2 = mkTyConApp tc [ty1,ty2] voidType :: VM Type -voidType = mkBuiltinTyConApp voidTyCon [] +voidType = mkBuiltinTyConApp VectMonad.voidTyCon [] mkWrapType :: Type -> VM Type mkWrapType ty = mkBuiltinTyConApp wrapTyCon [ty] -- cgit v1.2.1