+rnCoreDefault UfNoDefault = returnRn UfNoDefault
+rnCoreDefault (UfBindDefault bndr rhs) = bindLocalsRn "unfolding default" [bndr] $ \ [bndr'] ->
+ rnCoreExpr rhs `thenRn` \ rhs' ->
+ returnRn (UfBindDefault bndr' rhs')
+
+rnCoercion (UfIn n) = lookupOccRn n `thenRn` \ n' -> returnRn (UfIn n')
+rnCoercion (UfOut n) = lookupOccRn n `thenRn` \ n' -> returnRn (UfOut n')
+
+rnCorePrim (UfOtherOp op)
+ = lookupOccRn op `thenRn` \ op' ->
+ returnRn (UfOtherOp op')
+
+rnCorePrim (UfCCallOp str casm gc arg_tys res_ty)
+ = mapRn rnHsType arg_tys `thenRn` \ arg_tys' ->
+ rnHsType res_ty `thenRn` \ res_ty' ->
+ returnRn (UfCCallOp str casm gc arg_tys' res_ty')
+\end{code}
+
+%*********************************************************
+%* *
+\subsection{Errors}
+%* *
+%*********************************************************
+
+\begin{code}
+derivingNonStdClassErr clas
+ = hsep [ptext SLIT("non-standard class"), ppr clas, ptext SLIT("in deriving clause")]
+
+classTyVarNotInOpTyErr clas_tyvar sig
+ = hang (hsep [ptext SLIT("Class type variable"),
+ quotes (ppr clas_tyvar),
+ ptext SLIT("does not appear in method signature")])
+ 4 (ppr sig)
+
+dupClassAssertWarn ctxt (assertion : dups)
+ = sep [hsep [ptext SLIT("Duplicated class assertion"),
+ quotes (pprClassAssertion assertion),
+ ptext SLIT("in the context:")],
+ nest 4 (pprContext ctxt)]
+
+badDataCon name
+ = hsep [ptext SLIT("Illegal data constructor name"), quotes (ppr name)]
+
+wierdAllErr assertion
+ = ptext SLIT("Mal-formed use of `All':") <+> pprClassAssertion assertion
+
+ctxtErr1 doc tyvars
+ = hsep [ptext SLIT("Context constrains in-scope type variable(s)"),
+ pprQuotedList tyvars]
+ $$
+ nest 4 (ptext SLIT("in") <+> doc)
+
+ctxtErr2 doc tyvars ty
+ = (ptext SLIT("Context constrains type variable(s)")
+ <+> pprQuotedList tyvars)
+ $$
+ nest 4 (vcat [ptext SLIT("that do not appear in") <+> quotes (ppr ty),
+ ptext SLIT("in") <+> doc])