X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FDynFlags.hs;h=75f31cac9a85e9586d077d83b3c2c623df376bc2;hb=a937c2742f1b71bac0e0f4144e9638b2797c819b;hp=197756616412e348a41b9befbc08c1f35ee01040;hpb=d54de1579e43421350f6282af8977706606973b9;p=ghc-hetmet.git diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index 1977566..75f31ca 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -314,7 +314,8 @@ data ExtensionFlag | Opt_RecordPuns | Opt_ViewPatterns | Opt_GADTs - | Opt_RelaxedPolyRec + | Opt_OutsideIn + | Opt_RelaxedPolyRec -- Deprecated | Opt_NPlusKPatterns | Opt_DoAndIfThenElse @@ -1501,7 +1502,7 @@ type FlagSpec flag , Bool -> DynP ()) -- Extra action to run when the flag is found -- Typically, emit a warning or error -- True <=> we are turning the flag on - -- False <=> we are turning the flag on + -- False <=> we are turning the flag off mkFlag :: Bool -- ^ True <=> it should be turned on @@ -1713,7 +1714,10 @@ xFlags = [ ( "AlternativeLayoutRuleTransitional",Opt_AlternativeLayoutRuleTransitional, nop ), ( "DatatypeContexts", Opt_DatatypeContexts, nop ), ( "MonoLocalBinds", Opt_MonoLocalBinds, nop ), - ( "RelaxedPolyRec", Opt_RelaxedPolyRec, nop ), + ( "RelaxedPolyRec", Opt_RelaxedPolyRec, + \ turn_on -> if not turn_on + then deprecate "You can't turn off RelaxedPolyRec any more" + else return () ), ( "ExtendedDefaultRules", Opt_ExtendedDefaultRules, nop ), ( "ImplicitParams", Opt_ImplicitParams, nop ), ( "ScopedTypeVariables", Opt_ScopedTypeVariables, nop ), @@ -1751,14 +1755,14 @@ impliedFlags , (Opt_ExistentialQuantification, Opt_ExplicitForAll) , (Opt_PolymorphicComponents, Opt_ExplicitForAll) - , (Opt_GADTs, Opt_RelaxedPolyRec) -- We want type-sig variables to + , (Opt_GADTs, Opt_OutsideIn) -- We want type-sig variables to -- be completely rigid for GADTs - , (Opt_TypeFamilies, Opt_RelaxedPolyRec) -- Trac #2944 gives a nice example + , (Opt_TypeFamilies, Opt_OutsideIn) -- Trac #2944 gives a nice example , (Opt_TypeFamilies, Opt_KindSignatures) -- Type families use kind signatures -- all over the place - , (Opt_ScopedTypeVariables, Opt_RelaxedPolyRec) -- Ditto for scoped type variables; see + , (Opt_ScopedTypeVariables, Opt_OutsideIn) -- Ditto for scoped type variables; see -- Note [Scoped tyvars] in TcBinds , (Opt_ImpredicativeTypes, Opt_RankNTypes)