packages feed

ghc-lib-parser 9.6.3.20231121 → 9.6.4.20240109

raw patch · 29 files changed

+286/−190 lines, 29 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- GHC.Data.Bag: instance GHC.Exts.IsList (GHC.Data.Bag.Bag a)
- GHC.Utils.Binary: instance GHC.Utils.Binary.Binary Data.ByteString.Internal.ByteString
- GHC.Utils.Outputable: instance GHC.Utils.Outputable.OutputableP env Data.Void.Void
- Language.Haskell.Syntax.Type: instance (Data.Data.Data tyarg, Data.Data.Data arg, Data.Data.Data rec) => Data.Data.Data (Language.Haskell.Syntax.Type.HsConDetails tyarg arg rec)
- Language.Haskell.TH.Syntax: instance Language.Haskell.TH.Syntax.Lift Data.Void.Void
+ GHC.Data.Bag: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (GHC.Data.Bag.Bag a)
+ GHC.Data.Bag: instance GHC.IsList.IsList (GHC.Data.Bag.Bag a)
+ GHC.Driver.Flags: instance GHC.Enum.Bounded GHC.Driver.Flags.WarningFlag
+ GHC.Prelude.Basic: class a ~# b => (a :: k) ~ (b :: k)
+ GHC.Settings: [toolSettings_ldSupportsSingleModule] :: ToolSettings -> Bool
+ GHC.Tc.Errors.Types: [TcRnDisconnectedTyVar] :: !Name -> TcRnMessage
+ GHC.Types.Error: SuggestBindTyVarExplicitly :: Name -> GhcHint
+ GHC.Types.Hint: SuggestBindTyVarExplicitly :: Name -> GhcHint
+ GHC.Types.Name.Occurrence: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (GHC.Types.Name.Occurrence.OccEnv a)
+ GHC.Types.Name.Reader: instance Control.DeepSeq.NFData GHC.Types.Name.Reader.GlobalRdrElt
+ GHC.Types.Name.Reader: instance Control.DeepSeq.NFData GHC.Types.Name.Reader.ImportSpec
+ GHC.Types.Name.Reader: instance Control.DeepSeq.NFData GHC.Types.Name.Reader.Parent
+ GHC.Types.Var: funTyFlagArgTypeOrConstraint :: FunTyFlag -> TypeOrConstraint
+ GHC.Unit.State: UnusableUnit :: !Unit -> !UnusableUnitReason -> !Bool -> UnusableUnit
+ GHC.Unit.State: [uuIsReexport] :: UnusableUnit -> !Bool
+ GHC.Unit.State: [uuReason] :: UnusableUnit -> !UnusableUnitReason
+ GHC.Unit.State: [uuUnit] :: UnusableUnit -> !Unit
+ GHC.Unit.State: data UnusableUnit
+ GHC.Utils.Binary: instance GHC.Utils.Binary.Binary Data.ByteString.Internal.Type.ByteString
+ GHC.Utils.Outputable: instance GHC.Utils.Outputable.OutputableP env GHC.Base.Void
+ Language.Haskell.Syntax.Type: instance (Data.Data.Data tyarg, Data.Data.Data rec, Data.Data.Data arg) => Data.Data.Data (Language.Haskell.Syntax.Type.HsConDetails tyarg arg rec)
+ Language.Haskell.TH.Syntax: addrToByteArray :: Int -> Addr# -> ByteArray
+ Language.Haskell.TH.Syntax: addrToByteArrayName :: Name
+ Language.Haskell.TH.Syntax: instance Language.Haskell.TH.Syntax.Lift Data.Array.Byte.ByteArray
+ Language.Haskell.TH.Syntax: instance Language.Haskell.TH.Syntax.Lift GHC.Base.Void
- GHC.Core.TyCo.FVs: newtype Endo a
+ GHC.Core.TyCo.FVs: newtype () => Endo a
- GHC.Data.Graph.Directed: data SCC vertex
+ GHC.Data.Graph.Directed: data () => SCC vertex
- GHC.Data.IOEnv: data IORef a
+ GHC.Data.IOEnv: data () => IORef a
- GHC.Data.Maybe: newtype MaybeT (m :: Type -> Type) a
+ GHC.Data.Maybe: newtype () => MaybeT (m :: Type -> Type) a
- GHC.Hs.Decls: type HsDeriving pass = [LHsDerivingClause pass] " The optional @deriving@ clauses of a data declaration. "Clauses" is plural because one can specify multiple deriving clauses using the @-XDerivingStrategies@ language extension. The list of 'LHsDerivingClause's corresponds to exactly what the user requested to derive, in order. If no deriving clauses were specified, the list is empty."
+ GHC.Hs.Decls: type HsDeriving pass = -- | The optional @deriving@ clauses of a data declaration. "Clauses" is -- plural because one can specify multiple deriving clauses using the -- @-XDerivingStrategies@ language extension. -- -- The list of 'LHsDerivingClause's corresponds to exactly what the user -- requested to derive, in order. If no deriving clauses were specified, -- the list is empty. [LHsDerivingClause pass]
- GHC.Hs.Decls: type LConDecl pass = XRec pass (ConDecl pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when in a GADT constructor list"
+ GHC.Hs.Decls: type LConDecl pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when -- in a GADT constructor list XRec pass (ConDecl pass)
- GHC.Hs.Decls: type LHsDecl p = XRec p (HsDecl p) " When in a list this may have - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' "
+ GHC.Hs.Decls: type LHsDecl p = -- | When in a list this may have -- -- - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' -- XRec p (HsDecl p)
- GHC.Hs.Decls: type LTyFamInstEqn pass = XRec pass (TyFamInstEqn pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when in a list"
+ GHC.Hs.Decls: type LTyFamInstEqn pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' -- when in a list XRec pass (TyFamInstEqn pass)
- GHC.Hs.Type: type EpAnnForallTy = EpAnn (AddEpAnn, AddEpAnn) " Location of 'forall' and '->' for HsForAllVis Location of 'forall' and '.' for HsForAllInvis"
+ GHC.Hs.Type: type EpAnnForallTy = -- | Location of 'forall' and '->' for HsForAllVis -- Location of 'forall' and '.' for HsForAllInvis EpAnn (AddEpAnn, AddEpAnn)
- GHC.Hs.Type: type LConDeclField pass = XRec pass (ConDeclField pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when in a list"
+ GHC.Hs.Type: type LConDeclField pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when -- in a list XRec pass (ConDeclField pass)
- GHC.Hs.Type: type LHsContext pass = XRec pass (HsContext pass) " 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnUnit' For details on above see Note [exact print annotations] in GHC.Parser.Annotation"
+ GHC.Hs.Type: type LHsContext pass = -- | 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnUnit' -- For details on above see Note [exact print annotations] in GHC.Parser.Annotation XRec pass (HsContext pass)
- GHC.Hs.Type: type LHsKind pass = XRec pass (HsKind pass) " 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnDcolon'"
+ GHC.Hs.Type: type LHsKind pass = -- | 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnDcolon' XRec pass (HsKind pass)
- GHC.Hs.Type: type LHsType pass = XRec pass (HsType pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when in a list"
+ GHC.Hs.Type: type LHsType pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when -- in a list XRec pass (HsType pass)
- GHC.Parser.Annotation: type EpAnnCO = EpAnn NoEpAnns " Api Annotations for comments only"
+ GHC.Parser.Annotation: type EpAnnCO = -- | Api Annotations for comments only EpAnn NoEpAnns
- GHC.Platform: data ByteOrder
+ GHC.Platform: data () => ByteOrder
- GHC.Prelude.Basic: (!!) :: [a] -> Int -> a
+ GHC.Prelude.Basic: (!!) :: HasCallStack => [a] -> Int -> a
- GHC.Prelude.Basic: class Bounded a
+ GHC.Prelude.Basic: class () => Bounded a
- GHC.Prelude.Basic: class Enum a
+ GHC.Prelude.Basic: class () => Enum a
- GHC.Prelude.Basic: class Eq a
+ GHC.Prelude.Basic: class () => Eq a
- GHC.Prelude.Basic: class Foldable (t :: TYPE LiftedRep -> Type)
+ GHC.Prelude.Basic: class () => Foldable (t :: Type -> Type)
- GHC.Prelude.Basic: class Functor (f :: Type -> Type)
+ GHC.Prelude.Basic: class () => Functor (f :: Type -> Type)
- GHC.Prelude.Basic: class Num a
+ GHC.Prelude.Basic: class () => Num a
- GHC.Prelude.Basic: class Read a
+ GHC.Prelude.Basic: class () => Read a
- GHC.Prelude.Basic: class Semigroup a
+ GHC.Prelude.Basic: class () => Semigroup a
- GHC.Prelude.Basic: class Show a
+ GHC.Prelude.Basic: class () => Show a
- GHC.Prelude.Basic: cycle :: [a] -> [a]
+ GHC.Prelude.Basic: cycle :: HasCallStack => [a] -> [a]
- GHC.Prelude.Basic: data Bool
+ GHC.Prelude.Basic: data () => Bool
- GHC.Prelude.Basic: data Char
+ GHC.Prelude.Basic: data () => Char
- GHC.Prelude.Basic: data Double
+ GHC.Prelude.Basic: data () => Double
- GHC.Prelude.Basic: data Either a b
+ GHC.Prelude.Basic: data () => Either a b
- GHC.Prelude.Basic: data Float
+ GHC.Prelude.Basic: data () => Float
- GHC.Prelude.Basic: data IO a
+ GHC.Prelude.Basic: data () => IO a
- GHC.Prelude.Basic: data Int
+ GHC.Prelude.Basic: data () => Int
- GHC.Prelude.Basic: data Integer
+ GHC.Prelude.Basic: data () => Integer
- GHC.Prelude.Basic: data Maybe a
+ GHC.Prelude.Basic: data () => Maybe a
- GHC.Prelude.Basic: data Ordering
+ GHC.Prelude.Basic: data () => Ordering
- GHC.Prelude.Basic: data Word
+ GHC.Prelude.Basic: data () => Word
- GHC.Prelude.Basic: head :: [a] -> a
+ GHC.Prelude.Basic: head :: HasCallStack => [a] -> a
- GHC.Prelude.Basic: infixl 1 >>=
+ GHC.Prelude.Basic: infixl 1 >>
- GHC.Prelude.Basic: infixl 8 `rotate`
+ GHC.Prelude.Basic: infixl 8 `rotateR`
- GHC.Prelude.Basic: infixr 8 ^
+ GHC.Prelude.Basic: infixr 8 ^^
- GHC.Prelude.Basic: init :: [a] -> [a]
+ GHC.Prelude.Basic: init :: HasCallStack => [a] -> [a]
- GHC.Prelude.Basic: last :: [a] -> a
+ GHC.Prelude.Basic: last :: HasCallStack => [a] -> a
- GHC.Prelude.Basic: tail :: [a] -> [a]
+ GHC.Prelude.Basic: tail :: HasCallStack => [a] -> [a]
- GHC.Settings: ToolSettings :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> String -> (String, [Option]) -> String -> String -> String -> (String, [Option]) -> (String, [Option]) -> Maybe (String, [Option]) -> (String, [Option]) -> String -> String -> String -> String -> String -> String -> (String, [Option]) -> (String, [Option]) -> (String, [Option]) -> String -> [String] -> [String] -> Fingerprint -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> ToolSettings
+ GHC.Settings: ToolSettings :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> String -> (String, [Option]) -> String -> String -> String -> (String, [Option]) -> (String, [Option]) -> Maybe (String, [Option]) -> (String, [Option]) -> String -> String -> String -> String -> String -> String -> (String, [Option]) -> (String, [Option]) -> (String, [Option]) -> String -> [String] -> [String] -> Fingerprint -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> [String] -> ToolSettings
- GHC.Tc.Solver.InertSet: type CycleBreakerVarStack = NonEmpty [(TcTyVar, TcType)] " a stack of (CycleBreakerTv, original family applications) lists first element in the stack corresponds to current implication; later elements correspond to outer implications used to undo the cycle-breaking needed to handle Note [Type equality cycles] in GHC.Tc.Solver.Canonical Why store the outer implications? For the use in mightEqualLater (only)"
+ GHC.Tc.Solver.InertSet: type CycleBreakerVarStack = -- | a stack of (CycleBreakerTv, original family applications) lists -- first element in the stack corresponds to current implication; -- later elements correspond to outer implications -- used to undo the cycle-breaking needed to handle -- Note [Type equality cycles] in GHC.Tc.Solver.Canonical -- Why store the outer implications? For the use in mightEqualLater (only) NonEmpty [(TcTyVar, TcType)]
- GHC.Tc.Types: type TcPluginRewriter = RewriteEnv " Rewriter environment" -> [Ct] " Givens" -> [TcType] " type family arguments" -> TcPluginM TcPluginRewriteResult
+ GHC.Tc.Types: type TcPluginRewriter = -- | Rewriter environment RewriteEnv -> -- | Givens [Ct] -> -- | type family arguments [TcType] -> TcPluginM TcPluginRewriteResult
- GHC.Tc.Types: type TcPluginSolver = EvBindsVar -> [Ct] " Givens" -> [Ct] " Wanteds" -> TcPluginM TcPluginSolveResult
+ GHC.Tc.Types: type TcPluginSolver = EvBindsVar -> -- | Givens [Ct] -> -- | Wanteds [Ct] -> TcPluginM TcPluginSolveResult
- GHC.Types.Annotations: type AnnPayload = Serialized " The "payload" of an annotation allows recovery of its value at a given type, and can be persisted to an interface file"
+ GHC.Types.Annotations: type AnnPayload = -- | The "payload" of an annotation -- allows recovery of its value at a given type, -- and can be persisted to an interface file Serialized
- GHC.Types.Basic: data PromotionFlag
+ GHC.Types.Basic: data () => PromotionFlag
- GHC.Types.Name.Reader: ImpDeclSpec :: ModuleName -> ModuleName -> Bool -> SrcSpan -> ImpDeclSpec
+ GHC.Types.Name.Reader: ImpDeclSpec :: !ModuleName -> !ModuleName -> !Bool -> !SrcSpan -> ImpDeclSpec
- GHC.Types.Name.Reader: ImpSome :: Bool -> SrcSpan -> ImpItemSpec
+ GHC.Types.Name.Reader: ImpSome :: !Bool -> !SrcSpan -> ImpItemSpec
- GHC.Types.Name.Reader: ImpSpec :: ImpDeclSpec -> ImpItemSpec -> ImportSpec
+ GHC.Types.Name.Reader: ImpSpec :: !ImpDeclSpec -> !ImpItemSpec -> ImportSpec
- GHC.Types.Name.Reader: ParentIs :: Name -> Parent
+ GHC.Types.Name.Reader: ParentIs :: !Name -> Parent
- GHC.Types.Name.Reader: [is_as] :: ImpDeclSpec -> ModuleName
+ GHC.Types.Name.Reader: [is_as] :: ImpDeclSpec -> !ModuleName
- GHC.Types.Name.Reader: [is_decl] :: ImportSpec -> ImpDeclSpec
+ GHC.Types.Name.Reader: [is_decl] :: ImportSpec -> !ImpDeclSpec
- GHC.Types.Name.Reader: [is_dloc] :: ImpDeclSpec -> SrcSpan
+ GHC.Types.Name.Reader: [is_dloc] :: ImpDeclSpec -> !SrcSpan
- GHC.Types.Name.Reader: [is_explicit] :: ImpItemSpec -> Bool
+ GHC.Types.Name.Reader: [is_explicit] :: ImpItemSpec -> !Bool
- GHC.Types.Name.Reader: [is_iloc] :: ImpItemSpec -> SrcSpan
+ GHC.Types.Name.Reader: [is_iloc] :: ImpItemSpec -> !SrcSpan
- GHC.Types.Name.Reader: [is_item] :: ImportSpec -> ImpItemSpec
+ GHC.Types.Name.Reader: [is_item] :: ImportSpec -> !ImpItemSpec
- GHC.Types.Name.Reader: [is_mod] :: ImpDeclSpec -> ModuleName
+ GHC.Types.Name.Reader: [is_mod] :: ImpDeclSpec -> !ModuleName
- GHC.Types.Name.Reader: [is_qual] :: ImpDeclSpec -> Bool
+ GHC.Types.Name.Reader: [is_qual] :: ImpDeclSpec -> !Bool
- GHC.Types.Name.Reader: [par_is] :: Parent -> Name
+ GHC.Types.Name.Reader: [par_is] :: Parent -> !Name
- GHC.Unit.Finder.Types: NotFound :: [FilePath] -> Maybe Unit -> [Unit] -> [Unit] -> [(Unit, UnusableUnitReason)] -> [ModuleSuggestion] -> FindResult
+ GHC.Unit.Finder.Types: NotFound :: [FilePath] -> Maybe Unit -> [Unit] -> [Unit] -> [UnusableUnit] -> [ModuleSuggestion] -> FindResult
- GHC.Unit.Finder.Types: [fr_unusables] :: FindResult -> [(Unit, UnusableUnitReason)]
+ GHC.Unit.Finder.Types: [fr_unusables] :: FindResult -> [UnusableUnit]
- GHC.Unit.Info: data Version
+ GHC.Unit.Info: data () => Version
- GHC.Unit.State: ModUnusable :: UnusableUnitReason -> ModuleOrigin
+ GHC.Unit.State: ModUnusable :: !UnusableUnit -> ModuleOrigin
- GHC.Unit.Types: data IsBootInterface
+ GHC.Unit.Types: data () => IsBootInterface
- GHC.Utils.Exception: data AllocationLimitExceeded
+ GHC.Utils.Exception: data () => AllocationLimitExceeded
- GHC.Utils.Exception: data ArithException
+ GHC.Utils.Exception: data () => ArithException
- GHC.Utils.Exception: data ArrayException
+ GHC.Utils.Exception: data () => ArrayException
- GHC.Utils.Exception: data AsyncException
+ GHC.Utils.Exception: data () => AsyncException
- GHC.Utils.Exception: data BlockedIndefinitelyOnMVar
+ GHC.Utils.Exception: data () => BlockedIndefinitelyOnMVar
- GHC.Utils.Exception: data BlockedIndefinitelyOnSTM
+ GHC.Utils.Exception: data () => BlockedIndefinitelyOnSTM
- GHC.Utils.Exception: data Deadlock
+ GHC.Utils.Exception: data () => Deadlock
- GHC.Utils.Exception: data ErrorCall
+ GHC.Utils.Exception: data () => ErrorCall
- GHC.Utils.Exception: data Handler a
+ GHC.Utils.Exception: data () => Handler a
- GHC.Utils.Exception: data IOException
+ GHC.Utils.Exception: data () => IOException
- GHC.Utils.Exception: data MaskingState
+ GHC.Utils.Exception: data () => MaskingState
- GHC.Utils.Exception: data NestedAtomically
+ GHC.Utils.Exception: data () => NestedAtomically
- GHC.Utils.Exception: data NonTermination
+ GHC.Utils.Exception: data () => NonTermination
- GHC.Utils.Exception: data SomeAsyncException
+ GHC.Utils.Exception: data () => SomeAsyncException
- GHC.Utils.Exception: data SomeException
+ GHC.Utils.Exception: data () => SomeException
- GHC.Utils.Exception: newtype AssertionFailed
+ GHC.Utils.Exception: newtype () => AssertionFailed
- GHC.Utils.Exception: newtype CompactionFailed
+ GHC.Utils.Exception: newtype () => CompactionFailed
- GHC.Utils.Exception: newtype NoMethodError
+ GHC.Utils.Exception: newtype () => NoMethodError
- GHC.Utils.Exception: newtype PatternMatchFail
+ GHC.Utils.Exception: newtype () => PatternMatchFail
- GHC.Utils.Exception: newtype RecConError
+ GHC.Utils.Exception: newtype () => RecConError
- GHC.Utils.Exception: newtype RecSelError
+ GHC.Utils.Exception: newtype () => RecSelError
- GHC.Utils.Exception: newtype RecUpdError
+ GHC.Utils.Exception: newtype () => RecUpdError
- GHC.Utils.Exception: newtype TypeError
+ GHC.Utils.Exception: newtype () => TypeError
- GHC.Utils.Fingerprint: data Fingerprint
+ GHC.Utils.Fingerprint: data () => Fingerprint
- GHC.Utils.Misc: foldl1' :: (a -> a -> a) -> [a] -> a
+ GHC.Utils.Misc: foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a
- Language.Haskell.Syntax.Decls: type HsDeriving pass = [LHsDerivingClause pass] " The optional @deriving@ clauses of a data declaration. "Clauses" is plural because one can specify multiple deriving clauses using the @-XDerivingStrategies@ language extension. The list of 'LHsDerivingClause's corresponds to exactly what the user requested to derive, in order. If no deriving clauses were specified, the list is empty."
+ Language.Haskell.Syntax.Decls: type HsDeriving pass = -- | The optional @deriving@ clauses of a data declaration. "Clauses" is -- plural because one can specify multiple deriving clauses using the -- @-XDerivingStrategies@ language extension. -- -- The list of 'LHsDerivingClause's corresponds to exactly what the user -- requested to derive, in order. If no deriving clauses were specified, -- the list is empty. [LHsDerivingClause pass]
- Language.Haskell.Syntax.Decls: type LConDecl pass = XRec pass (ConDecl pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when in a GADT constructor list"
+ Language.Haskell.Syntax.Decls: type LConDecl pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when -- in a GADT constructor list XRec pass (ConDecl pass)
- Language.Haskell.Syntax.Decls: type LHsDecl p = XRec p (HsDecl p) " When in a list this may have - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' "
+ Language.Haskell.Syntax.Decls: type LHsDecl p = -- | When in a list this may have -- -- - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' -- XRec p (HsDecl p)
- Language.Haskell.Syntax.Decls: type LTyFamInstEqn pass = XRec pass (TyFamInstEqn pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' when in a list"
+ Language.Haskell.Syntax.Decls: type LTyFamInstEqn pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' -- when in a list XRec pass (TyFamInstEqn pass)
- Language.Haskell.Syntax.Expr: type LHsExpr p = XRec p (HsExpr p) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when in a list"
+ Language.Haskell.Syntax.Expr: type LHsExpr p = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when -- in a list XRec p (HsExpr p)
- Language.Haskell.Syntax.ImpExp: type LIE pass = XRec pass (IE pass) " When in a list this may have - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma'"
+ Language.Haskell.Syntax.ImpExp: type LIE pass = -- | When in a list this may have -- -- - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' XRec pass (IE pass)
- Language.Haskell.Syntax.ImpExp: type LImportDecl pass = XRec pass (ImportDecl pass) " When in a list this may have - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi'"
+ Language.Haskell.Syntax.ImpExp: type LImportDecl pass = -- | When in a list this may have -- -- - 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnSemi' XRec pass (ImportDecl pass)
- Language.Haskell.Syntax.Type: type LConDeclField pass = XRec pass (ConDeclField pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when in a list"
+ Language.Haskell.Syntax.Type: type LConDeclField pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when -- in a list XRec pass (ConDeclField pass)
- Language.Haskell.Syntax.Type: type LHsContext pass = XRec pass (HsContext pass) " 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnUnit' For details on above see Note [exact print annotations] in GHC.Parser.Annotation"
+ Language.Haskell.Syntax.Type: type LHsContext pass = -- | 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnUnit' -- For details on above see Note [exact print annotations] in GHC.Parser.Annotation XRec pass (HsContext pass)
- Language.Haskell.Syntax.Type: type LHsKind pass = XRec pass (HsKind pass) " 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnDcolon'"
+ Language.Haskell.Syntax.Type: type LHsKind pass = -- | 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnDcolon' XRec pass (HsKind pass)
- Language.Haskell.Syntax.Type: type LHsType pass = XRec pass (HsType pass) " May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when in a list"
+ Language.Haskell.Syntax.Type: type LHsType pass = -- | May have 'GHC.Parser.Annotation.AnnKeywordId' : 'GHC.Parser.Annotation.AnnComma' when -- in a list XRec pass (HsType pass)
- Language.Haskell.TH: type Cxt = [Pred] " @(Eq a, Ord b)@"
+ Language.Haskell.TH: type Cxt = -- | @(Eq a, Ord b)@ [Pred]
- Language.Haskell.TH.Syntax: type CharPos = (Int, Int) " Line and character position"
+ Language.Haskell.TH.Syntax: type CharPos = -- | Line and character position (Int, Int)
- Language.Haskell.TH.Syntax: type Cxt = [Pred] " @(Eq a, Ord b)@"
+ Language.Haskell.TH.Syntax: type Cxt = -- | @(Eq a, Ord b)@ [Pred]

Files

compiler/GHC/Core/Opt/Simplify/Env.hs view
@@ -58,30 +58,34 @@ import GHC.Core.Rules.Config ( RuleOpts(..) ) import GHC.Core import GHC.Core.Utils-import GHC.Core.Multiplicity     ( scaleScaled ) import GHC.Core.Unfold import GHC.Core.TyCo.Subst (emptyIdSubstEnv)+import GHC.Core.Multiplicity( Scaled(..), mkMultMul )+import GHC.Core.Make            ( mkWildValBinder, mkCoreLet )+import GHC.Core.Type hiding     ( substTy, substTyVar, substTyVarBndr, substCo+                                , extendTvSubst, extendCvSubst )+import qualified GHC.Core.Coercion as Coercion+import GHC.Core.Coercion hiding ( substCo, substCoVar, substCoVarBndr )+import qualified GHC.Core.Type as Type+ import GHC.Types.Var import GHC.Types.Var.Env import GHC.Types.Var.Set+import GHC.Types.Id as Id+import GHC.Types.Basic+import GHC.Types.Unique.FM      ( pprUniqFM )+ import GHC.Data.OrdList import GHC.Data.Graph.UnVar-import GHC.Types.Id as Id-import GHC.Core.Make            ( mkWildValBinder, mkCoreLet )+ import GHC.Builtin.Types-import qualified GHC.Core.Type as Type-import GHC.Core.Type hiding     ( substTy, substTyVar, substTyVarBndr, substCo-                                , extendTvSubst, extendCvSubst )-import qualified GHC.Core.Coercion as Coercion-import GHC.Core.Coercion hiding ( substCo, substCoVar, substCoVarBndr ) import GHC.Platform ( Platform )-import GHC.Types.Basic+ import GHC.Utils.Monad import GHC.Utils.Outputable import GHC.Utils.Panic import GHC.Utils.Panic.Plain import GHC.Utils.Misc-import GHC.Types.Unique.FM      ( pprUniqFM )  import Data.List ( intersperse, mapAccumL ) @@ -1171,21 +1175,34 @@   = assert (isJoinId join_id) $     setIdType join_id new_join_ty   where-    orig_ar = idJoinArity join_id-    orig_ty = idType join_id+    join_arity = idJoinArity join_id+    orig_ty    = idType join_id+    res_torc   = typeTypeOrConstraint new_res_ty :: TypeOrConstraint -    new_join_ty = go orig_ar orig_ty :: Type+    new_join_ty = go join_arity orig_ty :: Type -    go 0 _  = new_res_ty-    go n ty | Just (arg_bndr, res_ty) <- splitPiTy_maybe ty-            = mkPiTy (scale_bndr arg_bndr) $-              go (n-1) res_ty-            | otherwise-            = pprPanic "adjustJoinPointType" (ppr orig_ar <+> ppr orig_ty)+    go :: JoinArity -> Type -> Type+    go n ty+      | n == 0+      = new_res_ty -    -- See Note [Bangs in the Simplifier]-    scale_bndr (Anon t af) = (Anon $! (scaleScaled mult t)) af-    scale_bndr b@(Named _) = b+      | Just (arg_bndr, body_ty) <- splitPiTy_maybe ty+      , let body_ty' = go (n-1) body_ty+      = case arg_bndr of+          Named b                          -> mkForAllTy b body_ty'+          Anon (Scaled arg_mult arg_ty) af -> mkFunTy af' arg_mult' arg_ty body_ty'+              where+                -- Using "!": See Note [Bangs in the Simplifier]+                -- mkMultMul: see Note [Scaling join point arguments]+                !arg_mult' = arg_mult `mkMultMul` mult++                -- the new_res_ty might be ConstraintLike while the original+                -- one was TypeLike.  So we may need to adjust the FunTyFlag.+                -- (see #23952)+                !af' = mkFunTyFlag (funTyFlagArgTypeOrConstraint af) res_torc++      | otherwise+      = pprPanic "adjustJoinPointType" (ppr join_arity <+> ppr orig_ty)  {- Note [Scaling join point arguments] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compiler/GHC/Core/Type.hs view
@@ -2491,10 +2491,11 @@           ty : body_torc rep           bndr_torc is Type or Constraint           ki : bndr_torc+          ki : Type           `a` is a type variable           `a` is not free in rep (FORALL1) ------------------------          forall (a::ki). ty : torc rep+          forall (a::ki). ty : body_torc rep            torc is TYPE or CONSTRAINT           ty : body_torc rep
compiler/GHC/Data/Bag.hs view
@@ -38,6 +38,7 @@ import Data.List.NonEmpty ( NonEmpty(..) ) import qualified Data.List.NonEmpty as NE import qualified Data.Semigroup ( (<>) )+import Control.DeepSeq  infixr 3 `consBag` infixl 3 `snocBag`@@ -48,6 +49,12 @@   | TwoBags (Bag a) (Bag a) -- INVARIANT: neither branch is empty   | ListBag (NonEmpty a)   deriving (Foldable, Functor, Traversable)++instance NFData a => NFData (Bag a) where+  rnf EmptyBag = ()+  rnf (UnitBag a) = rnf a+  rnf (TwoBags a b) = rnf a `seq` rnf b+  rnf (ListBag a) = rnf a  emptyBag :: Bag a emptyBag = EmptyBag
compiler/GHC/Driver/Flags.hs view
@@ -667,7 +667,7 @@    | Opt_WarnTypeEqualityOutOfScope                  -- Since 9.4    | Opt_WarnTypeEqualityRequiresOperators           -- Since 9.4    | Opt_WarnLoopySuperclassSolve                    -- Since 9.6-   deriving (Eq, Ord, Show, Enum)+   deriving (Eq, Ord, Show, Enum, Bounded)  -- | Return the names of a WarningFlag --
compiler/GHC/Driver/Session.hs view
@@ -3209,122 +3209,119 @@ wWarningFlags = map snd (sortBy (comparing fst) wWarningFlagsDeps)  wWarningFlagsDeps :: [(Deprecation, FlagSpec WarningFlag)]-wWarningFlagsDeps = mconcat [+wWarningFlagsDeps = [minBound..maxBound] >>= \x -> case x of -- See Note [Updating flag description in the User's Guide] -- See Note [Supporting CLI completion] -- Please keep the list of flags below sorted alphabetically-  warnSpec    Opt_WarnAlternativeLayoutRuleTransitional,-  warnSpec    Opt_WarnAmbiguousFields,-  depWarnSpec Opt_WarnAutoOrphans-              "it has no effect",-  warnSpec    Opt_WarnCPPUndef,-  warnSpec    Opt_WarnUnbangedStrictPatterns,-  warnSpec    Opt_WarnDeferredTypeErrors,-  warnSpec    Opt_WarnDeferredOutOfScopeVariables,-  warnSpec    Opt_WarnWarningsDeprecations,-  warnSpec    Opt_WarnDeprecatedFlags,-  warnSpec    Opt_WarnDerivingDefaults,-  warnSpec    Opt_WarnDerivingTypeable,-  warnSpec    Opt_WarnDodgyExports,-  warnSpec    Opt_WarnDodgyForeignImports,-  warnSpec    Opt_WarnDodgyImports,-  warnSpec    Opt_WarnEmptyEnumerations,-  subWarnSpec "duplicate-constraints"-              Opt_WarnDuplicateConstraints-              "it is subsumed by -Wredundant-constraints",-  warnSpec    Opt_WarnRedundantConstraints,-  warnSpec    Opt_WarnDuplicateExports,-  depWarnSpec Opt_WarnHiShadows-              "it is not used, and was never implemented",-  warnSpec    Opt_WarnInaccessibleCode,-  warnSpec    Opt_WarnImplicitPrelude,-  depWarnSpec Opt_WarnImplicitKindVars-              "it is now an error",-  warnSpec    Opt_WarnIncompletePatterns,-  warnSpec    Opt_WarnIncompletePatternsRecUpd,-  warnSpec    Opt_WarnIncompleteUniPatterns,-  warnSpec    Opt_WarnInlineRuleShadowing,-  warnSpec    Opt_WarnIdentities,-  warnSpec    Opt_WarnMissingFields,-  warnSpec    Opt_WarnMissingImportList,-  warnSpec    Opt_WarnMissingExportList,-  subWarnSpec "missing-local-sigs"-              Opt_WarnMissingLocalSignatures-              "it is replaced by -Wmissing-local-signatures",-  warnSpec    Opt_WarnMissingLocalSignatures,-  warnSpec    Opt_WarnMissingMethods,-  depWarnSpec Opt_WarnMissingMonadFailInstances-              "fail is no longer a method of Monad",-  warnSpec    Opt_WarnSemigroup,-  warnSpec    Opt_WarnMissingSignatures,-  warnSpec    Opt_WarnMissingKindSignatures,-  subWarnSpec "missing-exported-sigs"-              Opt_WarnMissingExportedSignatures-              "it is replaced by -Wmissing-exported-signatures",-  warnSpec    Opt_WarnMissingExportedSignatures,-  warnSpec    Opt_WarnMonomorphism,-  warnSpec    Opt_WarnNameShadowing,-  warnSpec    Opt_WarnNonCanonicalMonadInstances,-  depWarnSpec Opt_WarnNonCanonicalMonadFailInstances-              "fail is no longer a method of Monad",-  warnSpec    Opt_WarnNonCanonicalMonoidInstances,-  warnSpec    Opt_WarnOrphans,-  warnSpec    Opt_WarnOverflowedLiterals,-  warnSpec    Opt_WarnOverlappingPatterns,-  warnSpec    Opt_WarnMissedSpecs,-  warnSpec    Opt_WarnAllMissedSpecs,-  warnSpec'   Opt_WarnSafe setWarnSafe,-  warnSpec    Opt_WarnTrustworthySafe,-  warnSpec    Opt_WarnInferredSafeImports,-  warnSpec    Opt_WarnMissingSafeHaskellMode,-  warnSpec    Opt_WarnTabs,-  warnSpec    Opt_WarnTypeDefaults,-  warnSpec    Opt_WarnTypedHoles,-  warnSpec    Opt_WarnPartialTypeSignatures,-  warnSpec    Opt_WarnUnrecognisedPragmas,-  warnSpec    Opt_WarnMisplacedPragmas,-  warnSpec'   Opt_WarnUnsafe setWarnUnsafe,-  warnSpec    Opt_WarnUnsupportedCallingConventions,-  warnSpec    Opt_WarnUnsupportedLlvmVersion,-  warnSpec    Opt_WarnMissedExtraSharedLib,-  warnSpec    Opt_WarnUntickedPromotedConstructors,-  warnSpec    Opt_WarnUnusedDoBind,-  warnSpec    Opt_WarnUnusedForalls,-  warnSpec    Opt_WarnUnusedImports,-  warnSpec    Opt_WarnUnusedLocalBinds,-  warnSpec    Opt_WarnUnusedMatches,-  warnSpec    Opt_WarnUnusedPatternBinds,-  warnSpec    Opt_WarnUnusedTopBinds,-  warnSpec    Opt_WarnUnusedTypePatterns,-  warnSpec    Opt_WarnUnusedRecordWildcards,-  warnSpec    Opt_WarnRedundantBangPatterns,-  warnSpec    Opt_WarnRedundantRecordWildcards,-  warnSpec    Opt_WarnRedundantStrictnessFlags,-  warnSpec    Opt_WarnWrongDoBind,-  warnSpec    Opt_WarnMissingPatternSynonymSignatures,-  warnSpec    Opt_WarnMissingDerivingStrategies,-  warnSpec    Opt_WarnSimplifiableClassConstraints,-  warnSpec    Opt_WarnMissingHomeModules,-  warnSpec    Opt_WarnUnrecognisedWarningFlags,-  warnSpec    Opt_WarnStarBinder,-  warnSpec    Opt_WarnStarIsType,-  depWarnSpec Opt_WarnSpaceAfterBang-              "bang patterns can no longer be written with a space",-  warnSpec    Opt_WarnPartialFields,-  warnSpec    Opt_WarnPrepositiveQualifiedModule,-  warnSpec    Opt_WarnUnusedPackages,-  warnSpec    Opt_WarnCompatUnqualifiedImports,-  warnSpec    Opt_WarnInvalidHaddock,-  warnSpec    Opt_WarnOperatorWhitespaceExtConflict,-  warnSpec    Opt_WarnOperatorWhitespace,-  warnSpec    Opt_WarnImplicitLift,-  warnSpec    Opt_WarnMissingExportedPatternSynonymSignatures,-  warnSpec    Opt_WarnForallIdentifier,-  warnSpec    Opt_WarnUnicodeBidirectionalFormatCharacters,-  warnSpec    Opt_WarnGADTMonoLocalBinds,-  warnSpec    Opt_WarnTypeEqualityOutOfScope,-  warnSpec    Opt_WarnTypeEqualityRequiresOperators- ]+  Opt_WarnAlternativeLayoutRuleTransitional -> warnSpec x+  Opt_WarnAmbiguousFields -> warnSpec x+  Opt_WarnAutoOrphans+    -> depWarnSpec x "it has no effect"+  Opt_WarnCPPUndef -> warnSpec x+  Opt_WarnUnbangedStrictPatterns -> warnSpec x+  Opt_WarnDeferredTypeErrors -> warnSpec x+  Opt_WarnDeferredOutOfScopeVariables -> warnSpec x+  Opt_WarnWarningsDeprecations -> warnSpec x+  Opt_WarnDeprecatedFlags -> warnSpec x+  Opt_WarnDerivingDefaults -> warnSpec x+  Opt_WarnDerivingTypeable -> warnSpec x+  Opt_WarnDodgyExports -> warnSpec x+  Opt_WarnDodgyForeignImports -> warnSpec x+  Opt_WarnDodgyImports -> warnSpec x+  Opt_WarnEmptyEnumerations -> warnSpec x+  Opt_WarnDuplicateConstraints+    -> subWarnSpec "duplicate-constraints" x "it is subsumed by -Wredundant-constraints"+  Opt_WarnRedundantConstraints -> warnSpec x+  Opt_WarnDuplicateExports -> warnSpec x+  Opt_WarnHiShadows+    -> depWarnSpec x "it is not used and was never implemented"+  Opt_WarnInaccessibleCode -> warnSpec x+  Opt_WarnImplicitPrelude -> warnSpec x+  Opt_WarnImplicitKindVars+    -> depWarnSpec x "it is now an error"+  Opt_WarnIncompletePatterns -> warnSpec x+  Opt_WarnIncompletePatternsRecUpd -> warnSpec x+  Opt_WarnIncompleteUniPatterns -> warnSpec x+  Opt_WarnInlineRuleShadowing -> warnSpec x+  Opt_WarnIdentities -> warnSpec x+  Opt_WarnLoopySuperclassSolve -> warnSpec x+  Opt_WarnMissingFields -> warnSpec x+  Opt_WarnMissingImportList -> warnSpec x+  Opt_WarnMissingExportList -> warnSpec x+  Opt_WarnMissingLocalSignatures+    -> subWarnSpec "missing-local-sigs" x "it is replaced by -Wmissing-local-signatures"+       ++ warnSpec x+  Opt_WarnMissingMethods -> warnSpec x+  Opt_WarnMissingMonadFailInstances+    -> depWarnSpec x "fail is no longer a method of Monad"+  Opt_WarnSemigroup -> warnSpec x+  Opt_WarnMissingSignatures -> warnSpec x+  Opt_WarnMissingKindSignatures -> warnSpec x+  Opt_WarnMissingExportedSignatures+    -> subWarnSpec "missing-exported-sigs" x "it is replaced by -Wmissing-exported-signatures"+       ++ warnSpec x+  Opt_WarnMonomorphism -> warnSpec x+  Opt_WarnNameShadowing -> warnSpec x+  Opt_WarnNonCanonicalMonadInstances -> warnSpec x+  Opt_WarnNonCanonicalMonadFailInstances+    -> depWarnSpec x "fail is no longer a method of Monad"+  Opt_WarnNonCanonicalMonoidInstances -> warnSpec x+  Opt_WarnOrphans -> warnSpec x+  Opt_WarnOverflowedLiterals -> warnSpec x+  Opt_WarnOverlappingPatterns -> warnSpec x+  Opt_WarnMissedSpecs -> warnSpec x+  Opt_WarnAllMissedSpecs -> warnSpec x+  Opt_WarnSafe -> warnSpec' x setWarnSafe+  Opt_WarnTrustworthySafe -> warnSpec x+  Opt_WarnInferredSafeImports -> warnSpec x+  Opt_WarnMissingSafeHaskellMode -> warnSpec x+  Opt_WarnTabs -> warnSpec x+  Opt_WarnTypeDefaults -> warnSpec x+  Opt_WarnTypedHoles -> warnSpec x+  Opt_WarnPartialTypeSignatures -> warnSpec x+  Opt_WarnUnrecognisedPragmas -> warnSpec x+  Opt_WarnMisplacedPragmas -> warnSpec x+  Opt_WarnUnsafe -> warnSpec' x setWarnUnsafe+  Opt_WarnUnsupportedCallingConventions -> warnSpec x+  Opt_WarnUnsupportedLlvmVersion -> warnSpec x+  Opt_WarnMissedExtraSharedLib -> warnSpec x+  Opt_WarnUntickedPromotedConstructors -> warnSpec x+  Opt_WarnUnusedDoBind -> warnSpec x+  Opt_WarnUnusedForalls -> warnSpec x+  Opt_WarnUnusedImports -> warnSpec x+  Opt_WarnUnusedLocalBinds -> warnSpec x+  Opt_WarnUnusedMatches -> warnSpec x+  Opt_WarnUnusedPatternBinds -> warnSpec x+  Opt_WarnUnusedTopBinds -> warnSpec x+  Opt_WarnUnusedTypePatterns -> warnSpec x+  Opt_WarnUnusedRecordWildcards -> warnSpec x+  Opt_WarnRedundantBangPatterns -> warnSpec x+  Opt_WarnRedundantRecordWildcards -> warnSpec x+  Opt_WarnRedundantStrictnessFlags -> warnSpec x+  Opt_WarnWrongDoBind -> warnSpec x+  Opt_WarnMissingPatternSynonymSignatures -> warnSpec x+  Opt_WarnMissingDerivingStrategies -> warnSpec x+  Opt_WarnSimplifiableClassConstraints -> warnSpec x+  Opt_WarnMissingHomeModules -> warnSpec x+  Opt_WarnUnrecognisedWarningFlags -> warnSpec x+  Opt_WarnStarBinder -> warnSpec x+  Opt_WarnStarIsType -> warnSpec x+  Opt_WarnSpaceAfterBang+    -> depWarnSpec x "bang patterns can no longer be written with a space"+  Opt_WarnPartialFields -> warnSpec x+  Opt_WarnPrepositiveQualifiedModule -> warnSpec x+  Opt_WarnUnusedPackages -> warnSpec x+  Opt_WarnCompatUnqualifiedImports -> warnSpec x+  Opt_WarnInvalidHaddock -> warnSpec x+  Opt_WarnOperatorWhitespaceExtConflict -> warnSpec x+  Opt_WarnOperatorWhitespace -> warnSpec x+  Opt_WarnImplicitLift -> warnSpec x+  Opt_WarnMissingExportedPatternSynonymSignatures -> warnSpec x+  Opt_WarnForallIdentifier -> warnSpec x+  Opt_WarnUnicodeBidirectionalFormatCharacters -> warnSpec x+  Opt_WarnGADTMonoLocalBinds -> warnSpec x+  Opt_WarnTypeEqualityOutOfScope -> warnSpec x+  Opt_WarnTypeEqualityRequiresOperators -> warnSpec x  -- | These @-\<blah\>@ flags can all be reversed with @-no-\<blah\>@ negatableFlagsDeps :: [(Deprecation, FlagSpec GeneralFlag)]
compiler/GHC/Settings.hs view
@@ -87,6 +87,7 @@ data ToolSettings = ToolSettings   { toolSettings_ldSupportsCompactUnwind :: Bool   , toolSettings_ldSupportsFilelist      :: Bool+  , toolSettings_ldSupportsSingleModule  :: Bool   , toolSettings_ldIsGnuLd               :: Bool   , toolSettings_ccSupportsNoPie         :: Bool   , toolSettings_useInplaceMinGW         :: Bool
compiler/GHC/Tc/Errors/Ppr.hs view
@@ -890,6 +890,12 @@                             -- Note [Swizzling the tyvars before generaliseTcTyCon]                 = vcat [ quotes (ppr n1) <+> text "bound at" <+> ppr (getSrcLoc n1)                        , quotes (ppr n2) <+> text "bound at" <+> ppr (getSrcLoc n2) ]++    TcRnDisconnectedTyVar n+      -> mkSimpleDecorated $+           hang (text "Scoped type variable only appears non-injectively in declaration header:")+              2 (quotes (ppr n) <+> text "bound at" <+> ppr (getSrcLoc n))+     TcRnInvalidReturnKind data_sort allowed_kind kind _suggested_ext       -> mkSimpleDecorated $            sep [ ppDataSort data_sort <+>@@ -1535,6 +1541,8 @@       -> ErrorWithoutFlag     TcRnDifferentNamesForTyVar{}       -> ErrorWithoutFlag+    TcRnDisconnectedTyVar{}+      -> ErrorWithoutFlag     TcRnInvalidReturnKind{}       -> ErrorWithoutFlag     TcRnClassKindNotConstraint{}@@ -1944,6 +1952,8 @@       -> noHints     TcRnDifferentNamesForTyVar{}       -> noHints+    TcRnDisconnectedTyVar n+      -> [SuggestBindTyVarExplicitly n]     TcRnInvalidReturnKind _ _ _ mb_suggest_unlifted_ext       -> case mb_suggest_unlifted_ext of            Nothing -> noHints
compiler/GHC/Tc/Errors/Types.hs view
@@ -2029,7 +2029,14 @@   -}   TcRnDifferentNamesForTyVar :: !Name -> !Name -> TcRnMessage -  {- TcRnInvalidReturnKind is an error for a data declaration that has a kind signature+  {-| TcRnDisconnectedTyVar is an error for a data declaration that has a kind signature,+      where the implicitly-bound type type variables can't be matched up unambiguously+      with the ones from the signature. See Note [Disconnected type variables] in+      GHC.Tc.Gen.HsType.+  -}+  TcRnDisconnectedTyVar :: !Name -> TcRnMessage++  {-| TcRnInvalidReturnKind is an error for a data declaration that has a kind signature      with an invalid result kind.       Example(s):
compiler/GHC/Types/Error/Codes.hs view
@@ -456,6 +456,7 @@   GhcDiagnosticCode "TcRnInvalidVisibleKindArgument"                = 20967   GhcDiagnosticCode "TcRnTooManyBinders"                            = 05989   GhcDiagnosticCode "TcRnDifferentNamesForTyVar"                    = 17370+  GhcDiagnosticCode "TcRnDisconnectedTyVar"                         = 59738   GhcDiagnosticCode "TcRnInvalidReturnKind"                         = 55233   GhcDiagnosticCode "TcRnClassKindNotConstraint"                    = 80768   GhcDiagnosticCode "TcRnUnpromotableThing"                         = 88634
compiler/GHC/Types/Hint.hs view
@@ -422,6 +422,9 @@    | LoopySuperclassSolveHint PredType ClsInstOrQC +  {-| Suggest binding explicitly; e.g   data T @k (a :: F k) = .... -}+  | SuggestBindTyVarExplicitly Name+ -- | An 'InstantiationSuggestion' for a '.hsig' file. This is generated -- by GHC in case of a 'DriverUnexpectedSignature' and suggests a way -- to instantiate a particular signature, where the first argument is
compiler/GHC/Types/Hint/Ppr.hs view
@@ -215,6 +215,9 @@           what = case cls_or_qc of             IsClsInst -> text "instance context"             IsQC {}   -> text "context of the quantified constraint"+    SuggestBindTyVarExplicitly tv+      -> text "bind" <+> quotes (ppr tv)+         <+> text "explicitly with" <+> quotes (char '@' <> ppr tv)  perhapsAsPat :: SDoc perhapsAsPat = text "Perhaps you meant an as-pattern, which must not be surrounded by whitespace"
compiler/GHC/Types/Name/Occurrence.hs view
@@ -429,6 +429,13 @@ pprOccEnv :: (a -> SDoc) -> OccEnv a -> SDoc pprOccEnv ppr_elt (A env) = pprUniqFM ppr_elt env +instance NFData a => NFData (OccEnv a) where+  rnf = forceOccEnv rnf++-- | Force an 'OccEnv' with the provided function.+forceOccEnv :: (a -> ()) -> OccEnv a -> ()+forceOccEnv nf (A fs) = seqEltsUFM nf fs+ type OccSet = UniqSet OccName  emptyOccSet       :: OccSet
compiler/GHC/Types/Name/Reader.hs view
@@ -98,6 +98,7 @@ import Data.Data import Data.List( sortBy ) import qualified Data.Semigroup as S+import Control.DeepSeq import GHC.Data.Bag  {-@@ -494,15 +495,23 @@          -- INVARIANT: either gre_lcl = True or gre_imp is non-empty          -- See Note [GlobalRdrElt provenance] +instance NFData GlobalRdrElt where+  rnf (GRE name par _ imp) = rnf name `seq` rnf par `seq` rnf imp++ -- | See Note [Parents] data Parent = NoParent-            | ParentIs  { par_is :: Name }+            | ParentIs  { par_is :: !Name }             deriving (Eq, Data)  instance Outputable Parent where    ppr NoParent        = empty    ppr (ParentIs n)    = text "parent:" <> ppr n +instance NFData Parent where+  rnf NoParent = ()+  rnf (ParentIs n) = rnf n+ plusParent :: Parent -> Parent -> Parent -- See Note [Combining parents] plusParent p1@(ParentIs _)    p2 = hasParent p1 p2@@ -1190,25 +1199,28 @@ -- -- The 'ImportSpec' of something says how it came to be imported -- It's quite elaborate so that we can give accurate unused-name warnings.-data ImportSpec = ImpSpec { is_decl :: ImpDeclSpec,-                            is_item :: ImpItemSpec }+data ImportSpec = ImpSpec { is_decl :: !ImpDeclSpec,+                            is_item :: !ImpItemSpec }                 deriving( Eq, Data ) +instance NFData ImportSpec where+  rnf = rwhnf -- All fields are strict, so we don't need to do anything+ -- | Import Declaration Specification -- -- Describes a particular import declaration and is -- shared among all the 'Provenance's for that decl data ImpDeclSpec   = ImpDeclSpec {-        is_mod      :: ModuleName, -- ^ Module imported, e.g. @import Muggle@+        is_mod      :: !ModuleName, -- ^ Module imported, e.g. @import Muggle@                                    -- Note the @Muggle@ may well not be                                    -- the defining module for this thing!                                     -- TODO: either should be Module, or there                                    -- should be a Maybe UnitId here too.-        is_as       :: ModuleName, -- ^ Import alias, e.g. from @as M@ (or @Muggle@ if there is no @as@ clause)-        is_qual     :: Bool,       -- ^ Was this import qualified?-        is_dloc     :: SrcSpan     -- ^ The location of the entire import declaration+        is_as       :: !ModuleName, -- ^ Import alias, e.g. from @as M@ (or @Muggle@ if there is no @as@ clause)+        is_qual     :: !Bool,       -- ^ Was this import qualified?+        is_dloc     :: !SrcSpan     -- ^ The location of the entire import declaration     } deriving (Eq, Data)  -- | Import Item Specification@@ -1219,8 +1231,8 @@                         -- or had a hiding list    | ImpSome {-        is_explicit :: Bool,-        is_iloc     :: SrcSpan  -- Location of the import item+        is_explicit :: !Bool,+        is_iloc     :: !SrcSpan  -- Location of the import item     }   -- ^ The import had an import list.         -- The 'is_explicit' field is @True@ iff the thing was named         -- /explicitly/ in the import specs rather
compiler/GHC/Types/Var.hs view
@@ -75,7 +75,7 @@         mkFunTyFlag, visArg, invisArg,         visArgTypeLike, visArgConstraintLike,         invisArgTypeLike, invisArgConstraintLike,-        funTyFlagResultTypeOrConstraint,+        funTyFlagArgTypeOrConstraint, funTyFlagResultTypeOrConstraint,         TypeOrConstraint(..),  -- Re-export this: it's an argument of FunTyFlag          -- * PiTyBinder@@ -588,6 +588,12 @@ -- This one, FUN, or (->), has an extra multiplicity argument isFUNArg FTF_T_T = True isFUNArg _       = False++funTyFlagArgTypeOrConstraint :: FunTyFlag -> TypeOrConstraint+-- Whether it /takes/ a type or a constraint+funTyFlagArgTypeOrConstraint FTF_T_T = TypeLike+funTyFlagArgTypeOrConstraint FTF_T_C = TypeLike+funTyFlagArgTypeOrConstraint _       = ConstraintLike  funTyFlagResultTypeOrConstraint :: FunTyFlag -> TypeOrConstraint -- Whether it /returns/ a type or a constraint
compiler/GHC/Unit/Finder/Types.hs view
@@ -61,7 +61,7 @@                                            --   but the *unit* is hidden          -- | Module is in these units, but it is unusable-      , fr_unusables   :: [(Unit, UnusableUnitReason)]+      , fr_unusables   :: [UnusableUnit]        , fr_suggestions :: [ModuleSuggestion] -- ^ Possible mis-spelled modules       }
compiler/GHC/Unit/Module/ModIface.hs view
@@ -553,7 +553,7 @@   rnf (ModIface f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12                 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24) =     rnf f1 `seq` rnf f2 `seq` f3 `seq` f4 `seq` f5 `seq` f6 `seq` rnf f7 `seq` f8 `seq`-    f9 `seq` rnf f10 `seq` rnf f11 `seq` rnf f12 `seq` f13 `seq` rnf f14 `seq` rnf f15 `seq` rnf f16 `seq`+    f9 `seq` rnf f10 `seq` rnf f11 `seq` rnf f12 `seq` rnf f13 `seq` rnf f14 `seq` rnf f15 `seq` rnf f16 `seq`     rnf f17 `seq` f18 `seq` rnf f19 `seq` rnf f20 `seq` rnf f21 `seq` f22 `seq` f23 `seq` rnf f24     `seq` () 
compiler/GHC/Unit/State.hs view
@@ -43,6 +43,7 @@         LookupResult(..),         ModuleSuggestion(..),         ModuleOrigin(..),+        UnusableUnit(..),         UnusableUnitReason(..),         pprReason, @@ -174,8 +175,10 @@     -- (But maybe the user didn't realize), so we'll still keep track     -- of these modules.)     ModHidden-    -- | Module is unavailable because the package is unusable.-  | ModUnusable UnusableUnitReason++    -- | Module is unavailable because the unit is unusable.+  | ModUnusable !UnusableUnit+     -- | Module is public, and could have come from some places.   | ModOrigin {         -- | @Just False@ means that this module is in@@ -193,6 +196,13 @@       , fromPackageFlag :: Bool       } +-- | A unusable unit module origin+data UnusableUnit = UnusableUnit+  { uuUnit        :: !Unit               -- ^ Unusable unit+  , uuReason      :: !UnusableUnitReason -- ^ Reason+  , uuIsReexport  :: !Bool               -- ^ Is the "module" a reexport?+  }+ instance Outputable ModuleOrigin where     ppr ModHidden = text "hidden module"     ppr (ModUnusable _) = text "unusable module"@@ -237,7 +247,8 @@                     text "x: " <> ppr x $$ text "y: " <> ppr y             g Nothing x = x             g x Nothing = x-    x <> y = pprPanic "ModOrigin: hidden module redefined" $++    x <> y = pprPanic "ModOrigin: module origin mismatch" $                  text "x: " <> ppr x $$ text "y: " <> ppr y  instance Monoid ModuleOrigin where@@ -1816,21 +1827,36 @@ mkUnusableModuleNameProvidersMap unusables =     Map.foldl' extend_modmap Map.empty unusables  where-    extend_modmap modmap (pkg, reason) = addListTo modmap bindings+    extend_modmap modmap (unit_info, reason) = addListTo modmap bindings       where bindings :: [(ModuleName, Map Module ModuleOrigin)]             bindings = exposed ++ hidden -            origin = ModUnusable reason-            pkg_id = mkUnit pkg+            origin_reexport =  ModUnusable (UnusableUnit unit reason True)+            origin_normal   =  ModUnusable (UnusableUnit unit reason False)+            unit = mkUnit unit_info              exposed = map get_exposed exposed_mods-            hidden = [(m, mkModMap pkg_id m origin) | m <- hidden_mods]+            hidden = [(m, mkModMap unit m origin_normal) | m <- hidden_mods] -            get_exposed (mod, Just mod') = (mod, Map.singleton mod' origin)-            get_exposed (mod, _)         = (mod, mkModMap pkg_id mod origin)+            -- with re-exports, c:Foo can be reexported from two (or more)+            -- unusable packages:+            --  Foo -> a:Foo (unusable reason A) -> c:Foo+            --      -> b:Foo (unusable reason B) -> c:Foo+            --+            -- We must be careful to not record the following (#21097):+            --  Foo -> c:Foo (unusable reason A)+            --      -> c:Foo (unusable reason B)+            -- But:+            --  Foo -> a:Foo (unusable reason A)+            --      -> b:Foo (unusable reason B)+            --+            get_exposed (mod, Just _) = (mod, mkModMap unit mod origin_reexport)+            get_exposed (mod, _) = (mod, mkModMap unit mod origin_normal)+              -- in the reexport case, we create a virtual module that doesn't+              -- exist but we don't care as it's only used as a key in the map. -            exposed_mods = unitExposedModules pkg-            hidden_mods  = unitHiddenModules pkg+            exposed_mods = unitExposedModules unit_info+            hidden_mods  = unitHiddenModules  unit_info  -- | Add a list of key/value pairs to a nested map. --
compiler/ghc.cabal view
@@ -3,7 +3,7 @@ -- ./configure.  Make sure you are editing ghc.cabal.in, not ghc.cabal.  Name: ghc-Version: 9.6.3+Version: 9.6.4 License: BSD-3-Clause License-File: LICENSE Author: The GHC Team@@ -86,9 +86,9 @@                    transformers >= 0.5 && < 0.7,                    exceptions == 0.10.*,                    stm,-                   ghc-boot   == 9.6.3,-                   ghc-heap   == 9.6.3,-                   ghci == 9.6.3+                   ghc-boot   == 9.6.4,+                   ghc-heap   == 9.6.4,+                   ghci == 9.6.4      if os(windows)         Build-Depends: Win32  >= 2.3 && < 2.14
ghc-lib-parser.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0 build-type: Simple name: ghc-lib-parser-version: 9.6.3.20231121+version: 9.6.4.20240109 license: BSD-3-Clause license-file: LICENSE category: Development
ghc-lib/stage0/lib/settings view
@@ -3,7 +3,7 @@ ,("C compiler flags", "--target=x86_64-apple-darwin ") ,("C++ compiler command", "/usr/bin/g++") ,("C++ compiler flags", "--target=x86_64-apple-darwin ")-,("C compiler link flags", "--target=x86_64-apple-darwin -Wl,-no_fixup_chains")+,("C compiler link flags", "--target=x86_64-apple-darwin -Wl,-no_fixup_chains -Wl,-no_warn_duplicate_libraries") ,("C compiler supports -no-pie", "NO") ,("Haskell CPP command", "/usr/bin/gcc") ,("Haskell CPP flags", "-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")@@ -12,6 +12,7 @@ ,("ld supports compact unwind", "YES") ,("ld supports filelist", "YES") ,("ld is GNU ld", "NO")+,("ld supports single module", "NO") ,("Merge objects command", "ld") ,("Merge objects flags", "-r") ,("ar command", "/usr/bin/ar")
ghc-lib/stage0/libraries/ghc-boot/build/GHC/Version.hs view
@@ -3,19 +3,19 @@ import Prelude -- See Note [Why do we import Prelude here?]  cProjectGitCommitId   :: String-cProjectGitCommitId   = "6819b70a7739205a75f0b4fefcfcc9fdab39cab9"+cProjectGitCommitId   = "3187fc7644a41c182ec35292389b61bc0575e80b"  cProjectVersion       :: String-cProjectVersion       = "9.6.3"+cProjectVersion       = "9.6.4"  cProjectVersionInt    :: String cProjectVersionInt    = "906"  cProjectPatchLevel    :: String-cProjectPatchLevel    = "3"+cProjectPatchLevel    = "4"  cProjectPatchLevel1   :: String-cProjectPatchLevel1   = "3"+cProjectPatchLevel1   = "4"  cProjectPatchLevel2   :: String cProjectPatchLevel2   = "0"
ghc-lib/stage0/rts/build/include/GhclibDerivedConstants.h view
@@ -166,8 +166,8 @@ #define StgEntCounter_entry_count(__ptr__) REP_StgEntCounter_entry_count[__ptr__+OFFSET_StgEntCounter_entry_count] #define SIZEOF_StgUpdateFrame_NoHdr 8 #define SIZEOF_StgUpdateFrame (SIZEOF_StgHeader+8)-#define SIZEOF_StgCatchFrame_NoHdr 16-#define SIZEOF_StgCatchFrame (SIZEOF_StgHeader+16)+#define SIZEOF_StgCatchFrame_NoHdr 8+#define SIZEOF_StgCatchFrame (SIZEOF_StgHeader+8) #define SIZEOF_StgStopFrame_NoHdr 0 #define SIZEOF_StgStopFrame (SIZEOF_StgHeader+0) #define SIZEOF_StgDeadThreadFrame_NoHdr 8@@ -260,12 +260,9 @@ #define OFFSET_StgUpdateFrame_updatee 0 #define REP_StgUpdateFrame_updatee b64 #define StgUpdateFrame_updatee(__ptr__) REP_StgUpdateFrame_updatee[__ptr__+SIZEOF_StgHeader+OFFSET_StgUpdateFrame_updatee]-#define OFFSET_StgCatchFrame_handler 8+#define OFFSET_StgCatchFrame_handler 0 #define REP_StgCatchFrame_handler b64 #define StgCatchFrame_handler(__ptr__) REP_StgCatchFrame_handler[__ptr__+SIZEOF_StgHeader+OFFSET_StgCatchFrame_handler]-#define OFFSET_StgCatchFrame_exceptions_blocked 0-#define REP_StgCatchFrame_exceptions_blocked b64-#define StgCatchFrame_exceptions_blocked(__ptr__) REP_StgCatchFrame_exceptions_blocked[__ptr__+SIZEOF_StgHeader+OFFSET_StgCatchFrame_exceptions_blocked] #define SIZEOF_StgPAP_NoHdr 16 #define SIZEOF_StgPAP (SIZEOF_StgHeader+16) #define OFFSET_StgPAP_n_args 4
ghc/ghc-bin.cabal view
@@ -2,7 +2,7 @@ -- ./configure.  Make sure you are editing ghc-bin.cabal.in, not ghc-bin.cabal.  Name: ghc-bin-Version: 9.6.3+Version: 9.6.4 Copyright: XXX -- License: XXX -- License-File: XXX@@ -39,8 +39,8 @@                    filepath   >= 1   && < 1.5,                    containers >= 0.5 && < 0.7,                    transformers >= 0.5 && < 0.7,-                   ghc-boot      == 9.6.3,-                   ghc           == 9.6.3+                   ghc-boot      == 9.6.4,+                   ghc           == 9.6.4      if os(windows)         Build-Depends: Win32  >= 2.3 && < 2.14@@ -58,7 +58,7 @@         Build-depends:             deepseq        == 1.4.*,             ghc-prim       >= 0.5.0 && < 0.11,-            ghci           == 9.6.3,+            ghci           == 9.6.4,             haskeline      == 0.8.*,             exceptions     == 0.10.*,             time           >= 1.8 && < 1.13
libraries/ghc-boot-th/ghc-boot-th.cabal view
@@ -3,7 +3,7 @@ -- ghc-boot-th.cabal.in, not ghc-boot-th.cabal.  name:           ghc-boot-th-version:        9.6.3+version:        9.6.4 license:        BSD3 license-file:   LICENSE category:       GHC
libraries/ghc-boot/ghc-boot.cabal view
@@ -5,7 +5,7 @@ -- ghc-boot.cabal.  name:           ghc-boot-version:        9.6.3+version:        9.6.4 license:        BSD-3-Clause license-file:   LICENSE category:       GHC@@ -77,7 +77,7 @@                    directory  >= 1.2 && < 1.4,                    filepath   >= 1.3 && < 1.5,                    deepseq    >= 1.4 && < 1.5,-                   ghc-boot-th == 9.6.3+                   ghc-boot-th == 9.6.4     if !os(windows)         build-depends:                    unix       >= 2.7 && < 2.9
libraries/ghc-heap/ghc-heap.cabal view
@@ -1,6 +1,6 @@ cabal-version:  3.0 name:           ghc-heap-version:        9.6.3+version:        9.6.4 license:        BSD-3-Clause license-file:   LICENSE maintainer:     libraries@haskell.org
libraries/ghci/GHCi/Message.hs view
@@ -465,7 +465,7 @@ #define MIN_VERSION_ghc_heap(major1,major2,minor) (\   (major1) <  9 || \   (major1) == 9 && (major2) <  6 || \-  (major1) == 9 && (major2) == 6 && (minor) <= 3)+  (major1) == 9 && (major2) == 6 && (minor) <= 4) #endif /* MIN_VERSION_ghc_heap */ #if MIN_VERSION_ghc_heap(8,11,0) instance Binary Heap.StgTSOProfInfo
libraries/ghci/ghci.cabal view
@@ -2,7 +2,7 @@ -- ../../configure.  Make sure you are editing ghci.cabal.in, not ghci.cabal.  name:           ghci-version:        9.6.3+version:        9.6.4 license:        BSD3 license-file:   LICENSE category:       GHC@@ -77,8 +77,8 @@         containers       >= 0.5 && < 0.7,         deepseq          == 1.4.*,         filepath         == 1.4.*,-        ghc-boot         == 9.6.3,-        ghc-heap         == 9.6.3,+        ghc-boot         == 9.6.4,+        ghc-heap         == 9.6.4,         template-haskell == 2.20.*,         transformers     >= 0.5 && < 0.7 
libraries/template-haskell/template-haskell.cabal view
@@ -56,7 +56,7 @@      build-depends:         base        >= 4.11 && < 4.19,-        ghc-boot-th == 9.6.3,+        ghc-boot-th == 9.6.4,         ghc-prim,         pretty      == 1.1.*