X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcDeriv.lhs;h=446bbdbf3dfa60945d6a979274cfecf4e7ec10c0;hb=112780e06ecd41c7469317a08187ea8335ee3c54;hp=af6840845926a63d6a2c454a4bd25d4658f4943b;hpb=241c6ba59c89d491aa4087f754dfcbbca26163f4;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcDeriv.lhs b/compiler/typecheck/TcDeriv.lhs index af68408..446bbdb 100644 --- a/compiler/typecheck/TcDeriv.lhs +++ b/compiler/typecheck/TcDeriv.lhs @@ -548,8 +548,8 @@ When there are no type families, it's quite easy: newtype S a = MkS [a] -- :CoS :: S ~ [] -- Eta-reduced - instance Eq [a] => Eq (S a) -- by coercion sym (Eq (coMkS a)) : Eq [a] ~ Eq (S a) - instance Monad [] => Monad S -- by coercion sym (Monad coMkS) : Monad [] ~ Monad S + instance Eq [a] => Eq (S a) -- by coercion sym (Eq (:CoS a)) : Eq [a] ~ Eq (S a) + instance Monad [] => Monad S -- by coercion sym (Monad :CoS) : Monad [] ~ Monad S When type familes are involved it's trickier: @@ -977,7 +977,7 @@ cond_functorOK allowFunctions (dflags, rep_tc) functions = ptext (sLit "contains function types") wrong_arg = ptext (sLit "uses the type variable in an argument other than the last") -checkFlag :: DynFlag -> Condition +checkFlag :: ExtensionFlag -> Condition checkFlag flag (dflags, _) | dopt flag dflags = Nothing | otherwise = Just why