X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FTcIface.lhs;h=b4bf2ed6c4d9f076a1eaaff5e5fdeaa90d2055e8;hb=e576ba5d31fbae54c43e88316fb0dbdba9cbd4ff;hp=21d2fb3121132a8537863c75d4573c2c487345e0;hpb=ac704fcac946590eef0ec91ae19f3b47d779a75f;p=ghc-hetmet.git diff --git a/compiler/iface/TcIface.lhs b/compiler/iface/TcIface.lhs index 21d2fb3..b4bf2ed 100644 --- a/compiler/iface/TcIface.lhs +++ b/compiler/iface/TcIface.lhs @@ -50,6 +50,7 @@ import Maybes import SrcLoc import Util import DynFlags +import Breakpoints import Control.Monad import Data.List @@ -209,7 +210,8 @@ typecheckIface iface , md_insts = insts , md_fam_insts = fam_insts , md_rules = rules - , md_exports = exports + , md_exports = exports + , md_dbg_sites = noDbgSites } } \end{code} @@ -404,8 +406,8 @@ tcIfaceDecl ignore_prags = do { op_name <- lookupIfaceTop occ ; op_ty <- forkM (mk_doc op_name rdr_ty) (tcIfaceType rdr_ty) -- Must be done lazily for just the same reason as the - -- context of a data decl: the type sig might mention the - -- class being defined + -- type of a data con; to avoid sucking in types that + -- it mentions unless it's necessray to do so ; return (op_name, dm, op_ty) } mk_doc op_name op_ty = ptext SLIT("Class op") <+> sep [ppr op_name, ppr op_ty] @@ -447,8 +449,8 @@ tcIfaceDataCons tycon_name tycon tc_tyvars if_cons ifConOcc = occ, ifConCtxt = ctxt, ifConEqSpec = spec, ifConArgTys = args, ifConFields = field_lbls, ifConStricts = stricts}) - = bindIfaceTyVars univ_tvs $ \ univ_tyvars -> do - bindIfaceTyVars ex_tvs $ \ ex_tyvars -> do + = bindIfaceTyVars univ_tvs $ \ univ_tyvars -> do + bindIfaceTyVars ex_tvs $ \ ex_tyvars -> do { name <- lookupIfaceTop occ ; eq_spec <- tcIfaceEqSpec spec ; theta <- tcIfaceCtxt ctxt -- Laziness seems not worth the bother here