mapFvRn, mapFvRnCPS,
warnUnusedMatches, warnUnusedModules, warnUnusedImports,
warnUnusedTopBinds, warnUnusedLocalBinds,
- dataTcOccs, unknownNameErr
+ dataTcOccs, unknownNameErr, perhapsForallMsg
) where
#include "HsVersions.h"
<+> quotes (ppr rdr_name))
, extra ]
where
- extra | rdr_name == forall_tv_RDR
- = vcat [ptext (sLit "Perhaps you intended to use -XRankNTypes or similar flag"),
- ptext (sLit "to enable explicit-forall syntax: forall <tvs>. <type>?")]
- | otherwise = empty
+ extra | rdr_name == forall_tv_RDR = perhapsForallMsg
+ | otherwise = empty
+
+perhapsForallMsg :: SDoc
+perhapsForallMsg
+ = vcat [ ptext (sLit "Perhaps you intended to use -XRankNTypes or similar flag")
+ , ptext (sLit "to enable explicit-forall syntax: forall <tvs>. <type>")]
unknownSubordinateErr :: SDoc -> RdrName -> SDoc
unknownSubordinateErr doc op -- Doc is "method of class" or
2 extra
where
extra | op == dot_tv_RDR && forall_head ty1
- = ptext (sLit "Perhaps you intended to use -XRankNTypes or similar flag")
+ = perhapsForallMsg
| otherwise
= ptext (sLit "Use -XTypeOperators to allow operators in types")