X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcHsSyn.lhs;h=e46ab45eb46ddc5b44c8af021f33e6e4a54774d1;hb=88e7faf19b7bcfd8d0d41fa88029c048b615c432;hp=ee6de3357b24cdcd30040e5cc9e9e9178a0c27e8;hpb=72462499b891d5779c19f3bda03f96e24f9554ae;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcHsSyn.lhs b/compiler/typecheck/TcHsSyn.lhs index ee6de33..e46ab45 100644 --- a/compiler/typecheck/TcHsSyn.lhs +++ b/compiler/typecheck/TcHsSyn.lhs @@ -363,8 +363,12 @@ zonk_bind env (AbsBinds { abs_tvs = tyvars, abs_dicts = dicts, zonkExport env (tyvars, global, local, prags) -- The tyvars are already zonked = zonkIdBndr env global `thenM` \ new_global -> - mapM zonk_prag prags `thenM` \ new_prags -> + zonk_prags prags `thenM` \ new_prags -> returnM (tyvars, new_global, zonkIdOcc env local, new_prags) + + zonk_prags IsDefaultMethod = return IsDefaultMethod + zonk_prags (SpecPrags ps) = do { ps' <- mapM zonk_prag ps; return (SpecPrags ps') } + zonk_prag (L loc (SpecPrag co_fn inl)) = do { (_, co_fn') <- zonkCoFn env co_fn ; return (L loc (SpecPrag co_fn' inl)) }