X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcGenDeriv.lhs;h=ea5ca8eb92ca1343b48cb2efde026a6eb461c97c;hp=26cec8b69306a4862cc776eb90bca8c4c2d9383f;hb=17b297d97d327620ed6bfab942f8992b2446f1bf;hpb=ab22f4e6456820c1b5169d75f5975a94e61f54ce diff --git a/compiler/typecheck/TcGenDeriv.lhs b/compiler/typecheck/TcGenDeriv.lhs index 26cec8b..ea5ca8e 100644 --- a/compiler/typecheck/TcGenDeriv.lhs +++ b/compiler/typecheck/TcGenDeriv.lhs @@ -11,6 +11,13 @@ This module is nominally ``subordinate'' to @TcDeriv@, which is the This is where we do all the grimy bindings' generation. \begin{code} +{-# OPTIONS_GHC -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions#Warnings +-- for details + module TcGenDeriv ( gen_Bounded_binds, gen_Enum_binds, @@ -47,7 +54,6 @@ import TcType import TysPrim import TysWiredIn import Util -import Constants import Outputable import FastString import OccName @@ -1208,12 +1214,13 @@ gen_tag_n_con_monobind (rdr_name, tycon, GenCon2Tag) (nlHsApp (nlHsVar getTag_RDR) a_Expr))) (noLoc (mkExplicitHsForAllTy (map (noLoc.UserTyVar) tvs) (noLoc []) con2tag_ty)) - con2tag_ty = foldl nlHsAppTy (nlHsTyVar (getRdrName tycon)) - (map nlHsTyVar tvs) + con2tag_ty = nlHsTyConApp (getRdrName tycon) (map nlHsTyVar tvs) `nlHsFunTy` nlHsTyVar (getRdrName intPrimTyCon) - lots_of_constructors = tyConFamilySize tycon > mAX_FAMILY_SIZE_FOR_VEC_RETURNS + lots_of_constructors = tyConFamilySize tycon > 8 + -- was: mAX_FAMILY_SIZE_FOR_VEC_RETURNS + -- but we don't do vectored returns any more. mk_stuff :: DataCon -> ([LPat RdrName], LHsExpr RdrName) mk_stuff con = ([nlWildConPat con], @@ -1421,10 +1428,6 @@ genOpApp e1 op e2 = nlHsPar (nlHsOpApp e1 op e2) \end{code} \begin{code} -getSrcSpan = srcLocSpan . getSrcLoc -\end{code} - -\begin{code} a_RDR = mkVarUnqual FSLIT("a") b_RDR = mkVarUnqual FSLIT("b") c_RDR = mkVarUnqual FSLIT("c")