import Maybes ( maybeToBool, catMaybes, firstJust )
import Name ( OccName, pprOccName, modAndOcc, NamedThing(..) )
import Outputable
-import PprType ( pprParendGenType, pprMaybeTy, TyCon )
+import PprType ( pprParendType, pprMaybeTy, TyCon )
import TyCon ( tyConTyVars )
import Type ( mkSigmaTy, instantiateTauTy, instantiateThetaTy,
splitSigmaTy, mkTyVarTy, mkForAllTys,
then Nothing
else Just (sep [ptext SLIT("Spec and Arg Types Inconsistent:"),
ptext SLIT("spectys="), sep [pprMaybeTy ty | ty <- spec_tys],
- ptext SLIT("argtys="), sep [pprParendGenType ty | ty <- arg_tys]])
+ ptext SLIT("argtys="), sep [pprParendType ty | ty <- arg_tys]])
where
match (Nothing:spec_tys) (arg:arg_tys)
= not (isUnboxedType arg) &&
pp_tyspec pp_mod (_, tycon, tys)
= hsep [pp_mod,
text "{-# SPECIALIZE data",
- ppr tycon, hsep (map pprParendGenType spec_tys),
+ ppr tycon, hsep (map pprParendType spec_tys),
text "-} {- Essential -}"
]
where
ppr clsop, text "::",
pprGenType spec_ty,
text "#-} {- IN instance",
- pprOccName (getOccName cls), pprParendGenType clsty,
+ pprOccName (getOccName cls), pprParendType clsty,
text "-}", pp_essential ]
| is_default_method_id