X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnEnv.lhs;h=59451fc535252ad0a2f0ecdd4d7c0f262aab1b1b;hb=11a4f9a91213e98c586feeb64c41c0e07037df66;hp=801dda860c0105a6b243a044689f576b5293c48a;hpb=6c7b41cc2b24f533697a62bf1843507ae043fc97;p=ghc-hetmet.git diff --git a/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs index 801dda8..59451fc 100644 --- a/compiler/rename/RnEnv.lhs +++ b/compiler/rename/RnEnv.lhs @@ -36,7 +36,7 @@ module RnEnv ( mapFvRn, mapFvRnCPS, warnUnusedMatches, warnUnusedModules, warnUnusedImports, warnUnusedTopBinds, warnUnusedLocalBinds, - dataTcOccs, unknownNameErr, + dataTcOccs, unknownNameErr ) where #include "HsVersions.h" @@ -55,12 +55,13 @@ import Name ( Name, nameIsLocalOrFrom, mkInternalName, isWiredInName, nameSrcLoc, nameSrcSpan, nameOccName, nameModule, isExternalName ) import NameSet import NameEnv -import UniqFM +import LazyUniqFM import DataCon ( dataConFieldLabels ) import OccName ( OccName, tcName, isDataOcc, pprNonVarNameSpace, occNameSpace, reportIfUnused, occNameFS ) import Module ( Module, ModuleName ) -import PrelNames ( mkUnboundName, rOOT_MAIN, iNTERACTIVE, consDataConKey, hasKey ) +import PrelNames ( mkUnboundName, rOOT_MAIN, iNTERACTIVE, + consDataConKey, hasKey, forall_tv_RDR ) import UniqSupply import BasicTypes ( IPName, mapIPName, Fixity ) import SrcLoc ( SrcSpan, srcSpanStart, Located(..), eqLocated, unLoc, @@ -1018,9 +1019,14 @@ shadowedNameWarn doc occ shadowed_locs $$ doc unknownNameErr rdr_name - = sep [ptext SLIT("Not in scope:"), - nest 2 $ pprNonVarNameSpace (occNameSpace (rdrNameOcc rdr_name)) - <+> quotes (ppr rdr_name)] + = vcat [ hang (ptext SLIT("Not in scope:")) + 2 (pprNonVarNameSpace (occNameSpace (rdrNameOcc rdr_name)) + <+> quotes (ppr rdr_name)) + , extra ] + where + extra | rdr_name == forall_tv_RDR + = ptext SLIT("Perhaps you intended to use -XRankNTypes or similar flag") + | otherwise = empty unknownSubordinateErr doc op -- Doc is "method of class" or -- "field of constructor"