X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FCoreLint.lhs;h=99afabcf1449cfdca39e4985b8d500abb32f9e06;hp=f72c11e4246a9c52f668450b50b31d32d3d3fa0b;hb=5eb1c77c795f92ed0f4c8023847e9d4be1a4fd0d;hpb=f7ecf7234c224489be8a5e63fced903b655d92ee diff --git a/ghc/compiler/coreSyn/CoreLint.lhs b/ghc/compiler/coreSyn/CoreLint.lhs index f72c11e..99afabc 100644 --- a/ghc/compiler/coreSyn/CoreLint.lhs +++ b/ghc/compiler/coreSyn/CoreLint.lhs @@ -18,7 +18,7 @@ import CoreSyn import Bag import Kind ( hasMoreBoxityInfo, Kind{-instance-} ) import Literal ( literalType, Literal{-instance-} ) -import Id ( idType, isBottomingId, +import Id ( idType, isBottomingId, dataConRepType, dataConArgTys, GenId{-instances-}, emptyIdSet, mkIdSet, intersectIdSets, unionIdSets, elementOfIdSet, SYN_IE(IdSet) @@ -198,14 +198,8 @@ lintCoreExpr (Let binds body) (addInScopeVars binders (lintCoreExpr body)) lintCoreExpr e@(Con con args) - = lintCoreArgs {-False-} e unoverloaded_ty args + = lintCoreArgs {-False-} e (dataConRepType con) args -- Note: we don't check for primitive types in these arguments - where - -- Constructors are special in that they aren't passed their - -- dictionary arguments, so we swizzle them out of the - -- constructor type before handing over to lintCorArgs - unoverloaded_ty = mkForAllTys tyvars tau - (tyvars, theta, tau) = splitSigmaTy (idType con) lintCoreExpr e@(Prim op args) = lintCoreArgs {-True-} e (primOpType op) args