X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FCoercion.lhs;h=35cf5a5a7b1cbe15ee84685ee67b04633e0925fa;hb=8b5bfdf4e780bae6c596825a1042b059f9ae4f2d;hp=ac2173c5c02604efd6bef899516facea09751e15;hpb=ad94d40948668032189ad22a0ad741ac1f645f50;p=ghc-hetmet.git diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs index ac2173c..35cf5a5 100644 --- a/compiler/types/Coercion.lhs +++ b/compiler/types/Coercion.lhs @@ -16,7 +16,7 @@ The coercion kind constructor is a special TyCon that must always be saturated -- The above warning supression flag is a temporary kludge. -- While working on this module you are encouraged to remove it and fix -- any warnings in the module. See --- http://hackage.haskell.org/trac/ghc/wiki/CodingStyle#Warnings +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings -- for details module Coercion ( @@ -371,7 +371,10 @@ transCoercionTyCon = where composeCoercionKindsOf (co1:co2:rest) = ASSERT( null rest ) - WARN( not (r1 `coreEqType` a2), text "Strange! Type mismatch in trans coercion, probably a bug") + WARN( not (r1 `coreEqType` a2), + text "Strange! Type mismatch in trans coercion, probably a bug" + $$ + ppr r1 <+> text "=/=" <+> ppr a2) (a1, r2) where (a1, r1) = coercionKind co1 @@ -401,6 +404,9 @@ splitCoercionKindOf co , Just (ty_fun1, ty_arg1) <- splitAppTy_maybe ty1 , Just (ty_fun2, ty_arg2) <- splitAppTy_maybe ty2 = ((ty_fun1, ty_fun2),(ty_arg1, ty_arg2)) +splitCoercionKindOf co + = pprPanic "Coercion.splitCoercionKindOf" + (ppr co $$ ppr (coercionKindPredTy co)) instCoercionTyCon = mkCoercionTyCon instCoercionTyConName 2 instCoercionKind