Pat(..), HsConDetails(..), HsOverLit, BangType(..),
placeHolderType, HsType(..), HsExplicitForAll(..),
HsTyVarBndr(..), HsContext,
- mkSimpleMatch, mkHsForAllTy
+ mkSimpleMatch, mkImplicitHsForAllTy, mkExplicitHsForAllTy
)
import RdrName ( RdrName, mkRdrUnqual, mkRdrQual, mkOrig )
cvt_pred :: Meta.Type -> HsPred RdrName
cvt_pred ty = case split_ty_app ty of
(ConT tc, tys) -> HsClassP (tconName tc) (map cvtType tys)
- other -> panic "Malformed predicate"
+ other -> pprPanic "Malformed predicate" (ppr ty)
cvtType :: Meta.Type -> HsType RdrName
cvtType ty = trans (root ty [])