X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcInstDcls.lhs;fp=compiler%2Ftypecheck%2FTcInstDcls.lhs;h=dfe1efb679f113bd520948d1136d209752759d5d;hp=68b9106df35171432854f65800be58cb0fb3729f;hb=db46cd4ec47fabf392bad95cfb040fac468ddfcd;hpb=c88891b513fdfb62d77265f98b06c934ae4a3023 diff --git a/compiler/typecheck/TcInstDcls.lhs b/compiler/typecheck/TcInstDcls.lhs index 68b9106..dfe1efb 100644 --- a/compiler/typecheck/TcInstDcls.lhs +++ b/compiler/typecheck/TcInstDcls.lhs @@ -206,7 +206,7 @@ Just . Instead, we simply rely on the fact that casts are cheap: $df :: forall a. C a => C [a] - {-# INLINE df #} -- NB: INLINE this + {-# INLINE df #-} -- NB: INLINE this $df = /\a. \d. MkC [a] ($cop_list a d) = $cop_list |> forall a. C a -> (sym (Co:C [a])) @@ -379,26 +379,22 @@ tcInstDecls1 tycl_decls inst_decls deriv_decls -- tythings to the global environment ; tcExtendGlobalEnv (at_idx_tycons ++ implicit_things) $ do { - -- (3) Instances from generic class declarations - ; generic_inst_info <- getGenericInstances clas_decls -- Next, construct the instance environment so far, consisting -- of -- (a) local instance decls - -- (b) generic instances - -- (c) local family instance decls + -- (b) local family instance decls ; addInsts local_info $ - addInsts generic_inst_info $ addFamInsts at_idx_tycons $ do { - -- (4) Compute instances from "deriving" clauses; + -- (3) Compute instances from "deriving" clauses; -- This stuff computes a context for the derived instance -- decl, so it needs to know about all the instances possible -- NB: class instance declarations can contain derivings as -- part of associated data type declarations - failIfErrsM -- If the addInsts stuff gave any errors, don't - -- try the deriving stuff, because that may give - -- more errors still + failIfErrsM -- If the addInsts stuff gave any errors, don't + -- try the deriving stuff, because that may give + -- more errors still ; (deriv_inst_info, deriv_binds, deriv_dus, deriv_tys, deriv_ty_insts) <- tcDeriving tycl_decls inst_decls deriv_decls @@ -407,9 +403,8 @@ tcInstDecls1 tycl_decls inst_decls deriv_decls ; gbl_env <- addFamInsts (map ATyCon deriv_ty_insts) $ tcExtendGlobalEnv (map ATyCon (deriv_tys ++ deriv_ty_insts)) $ addInsts deriv_inst_info getGblEnv --- ; traceTc "Generic deriving" (vcat (map pprInstInfo deriv_inst_info)) - ; return ( addTcgDUs gbl_env deriv_dus, - generic_inst_info ++ deriv_inst_info ++ local_info, + ; return ( addTcgDUs gbl_env deriv_dus, + deriv_inst_info ++ local_info, aux_binds `plusHsValBinds` deriv_binds) }}}