@@ -119,6 +119,7 @@ data SimpleErrorMessage
119119 | TransitiveExportError DeclarationRef [DeclarationRef]
120120 | ShadowedName Ident
121121 | WildcardInferredType Type
122+ | ClassOperator ProperName Ident
122123 deriving (Show)
123124
124125-- |
@@ -226,6 +227,7 @@ errorCode em = case unwrapErrorMessage em of
226227 (TransitiveExportError _ _) -> "TransitiveExportError"
227228 (ShadowedName _) -> "ShadowedName"
228229 (WildcardInferredType _) -> "WildcardInferredType"
230+ (ClassOperator _ _) -> "ClassOperator"
229231
230232-- |
231233-- A stack trace for an error
@@ -543,6 +545,11 @@ prettyPrintSingleError full e = prettyPrintErrorMessage <$> onTypesInErrorMessag
543545 : map (line . prettyPrintExport) ys
544546 goSimple (ShadowedName nm) =
545547 line $ "Name '" ++ show nm ++ "' was shadowed."
548+ goSimple (ClassOperator className opName) =
549+ paras [ line $ "Class '" ++ show className ++ "' declares operator " ++ show opName ++ "."
550+ , indent $ line $ "This may be disallowed in the future - consider declaring a named member in the class and making the operator an alias:"
551+ , indent $ line $ show opName ++ " = someMember"
552+ ]
546553 goSimple (WildcardInferredType ty) =
547554 line $ "The wildcard type definition has the inferred type " ++ prettyPrintType ty
548555 go (NotYetDefined names err) =