packages feed

ghc-typelits-presburger 0.7.3.0 → 0.7.4.0

raw patch · 6 files changed

+95/−43 lines, 6 filesdep ~ghcPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: ghc

API changes (from Hackage documentation)

- GHC.TypeLits.Presburger.Compat: IfOrigin :: CtOrigin
- GHC.TypeLits.Presburger.Compat: InstSCOrigin :: ScDepth -> TypeSize -> CtOrigin
- GHC.TypeLits.Presburger.Compat: LiftedInfo :: RuntimeRepInfo
- GHC.TypeLits.Presburger.Compat: NoRRI :: RuntimeRepInfo
- GHC.TypeLits.Presburger.Compat: OtherSCOrigin :: ScDepth -> SkolemInfo -> CtOrigin
- GHC.TypeLits.Presburger.Compat: TCvSubst :: InScopeSet -> TvSubstEnv -> CvSubstEnv -> TCvSubst
- GHC.TypeLits.Presburger.Compat: TcPluginContradiction :: [Ct] -> TcPluginResult
- GHC.TypeLits.Presburger.Compat: TcPluginOk :: [(EvTerm, Ct)] -> [Ct] -> TcPluginResult
- GHC.TypeLits.Presburger.Compat: UnboxedAlgTyCon :: Maybe TyConRepName -> AlgTyConFlav
- GHC.TypeLits.Presburger.Compat: UnliftedInfo :: RuntimeRepInfo
- GHC.TypeLits.Presburger.Compat: [hsmodAnn] :: HsModule -> EpAnn AnnsModule
- GHC.TypeLits.Presburger.Compat: [hsmodDeprecMessage] :: HsModule -> Maybe (LocatedP WarningTxt)
- GHC.TypeLits.Presburger.Compat: [hsmodHaddockModHeader] :: HsModule -> Maybe LHsDocString
- GHC.TypeLits.Presburger.Compat: [hsmodLayout] :: HsModule -> LayoutInfo
- GHC.TypeLits.Presburger.Compat: [ideclHiding] :: ImportDecl pass -> Maybe (Bool, XRec pass [LIE pass])
- GHC.TypeLits.Presburger.Compat: [ideclImplicit] :: ImportDecl pass -> Bool
- GHC.TypeLits.Presburger.Compat: [ideclSourceSrc] :: ImportDecl pass -> SourceText
- GHC.TypeLits.Presburger.Compat: [nt_lev_poly] :: AlgTyConRhs -> Bool
- GHC.TypeLits.Presburger.Compat: data RuntimeRepInfo
- GHC.TypeLits.Presburger.Compat: data TCvSubst
- GHC.TypeLits.Presburger.Compat: data TcPluginResult
- GHC.TypeLits.Presburger.Compat: gHC_TYPENATS :: Module
- GHC.TypeLits.Presburger.Compat: isConstraintKindCon :: TyCon -> Bool
- GHC.TypeLits.Presburger.Compat: isFunTyCon :: TyCon -> Bool
- GHC.TypeLits.Presburger.Compat: isTcLevPoly :: TyCon -> Bool
- GHC.TypeLits.Presburger.Compat: isUnliftedTyCon :: TyCon -> Bool
- GHC.TypeLits.Presburger.Compat: mkFunTyCon :: Name -> [TyConBinder] -> Name -> TyCon
- GHC.TypeLits.Presburger.Compat: mkKindTyCon :: Name -> [TyConBinder] -> Kind -> [Role] -> Name -> TyCon
- GHC.TypeLits.Presburger.Compat: mkLiftedPrimTyCon :: Name -> [TyConBinder] -> Kind -> [Role] -> TyCon
- GHC.TypeLits.Presburger.Compat: mustBeSaturated :: TyCon -> Bool
- GHC.TypeLits.Presburger.Compat: tyConBinderArgFlag :: TyConBinder -> ArgFlag
- GHC.TypeLits.Presburger.Compat: tyConBndrVisArgFlag :: TyConBndrVis -> ArgFlag
- GHC.TypeLits.Presburger.Compat: tyConRoles :: TyCon -> [Role]
- GHC.TypeLits.Presburger.Compat: tyConRuntimeRepInfo :: TyCon -> RuntimeRepInfo
- GHC.TypeLits.Presburger.Compat: type FamInstEnv = UniqDFM TyCon FamilyInstEnv
- GHC.TypeLits.Presburger.Compat: type TcPluginSolveResult = TcPluginResult
- GHC.TypeLits.Presburger.Compat: type TyConTyCoBinder = VarBndr TyCoVar TyConBndrVis
+ GHC.TypeLits.Presburger.Compat: ArrowCmdOrigin :: CtOrigin
+ GHC.TypeLits.Presburger.Compat: CorePrepProv :: Bool -> UnivCoProvenance
+ GHC.TypeLits.Presburger.Compat: ExpandsSyn :: [(TyVar, tyco)] -> Type -> [tyco] -> ExpandSynResult tyco
+ GHC.TypeLits.Presburger.Compat: FRROrigin :: FixedRuntimeRepOrigin -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: GivenSCOrigin :: SkolemInfoAnon -> ScDepth -> Bool -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: IfThenElseOrigin :: CtOrigin
+ GHC.TypeLits.Presburger.Compat: InjTFOrigin1 :: PredType -> CtOrigin -> RealSrcSpan -> PredType -> CtOrigin -> RealSrcSpan -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: Levity :: Levity -> PromDataConInfo
+ GHC.TypeLits.Presburger.Compat: NoExpansion :: ExpandSynResult tyco
+ GHC.TypeLits.Presburger.Compat: NoPromInfo :: PromDataConInfo
+ GHC.TypeLits.Presburger.Compat: PhantomProv :: KindCoercion -> UnivCoProvenance
+ GHC.TypeLits.Presburger.Compat: PluginProv :: String -> UnivCoProvenance
+ GHC.TypeLits.Presburger.Compat: ProofIrrelProv :: KindCoercion -> UnivCoProvenance
+ GHC.TypeLits.Presburger.Compat: Subst :: InScopeSet -> IdSubstEnv -> TvSubstEnv -> CvSubstEnv -> Subst
+ GHC.TypeLits.Presburger.Compat: TcPluginSolveResult :: [Ct] -> [(EvTerm, Ct)] -> [Ct] -> TcPluginSolveResult
+ GHC.TypeLits.Presburger.Compat: UnboxedSumTyCon :: AlgTyConFlav
+ GHC.TypeLits.Presburger.Compat: WantedSuperclassOrigin :: PredType -> CtOrigin -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: XModule :: !XXModule p -> HsModule p
+ GHC.TypeLits.Presburger.Compat: [data_fixed_lev] :: AlgTyConRhs -> Bool
+ GHC.TypeLits.Presburger.Compat: [defaultingPlugin] :: Plugin -> DefaultingPlugin
+ GHC.TypeLits.Presburger.Compat: [hsmodExt] :: HsModule p -> XCModule p
+ GHC.TypeLits.Presburger.Compat: [ideclImportList] :: ImportDecl pass -> Maybe (ImportListInterpretation, XRec pass [LIE pass])
+ GHC.TypeLits.Presburger.Compat: [is_type_data] :: AlgTyConRhs -> Bool
+ GHC.TypeLits.Presburger.Compat: [nt_fixed_rep] :: AlgTyConRhs -> Bool
+ GHC.TypeLits.Presburger.Compat: [tcPluginInsolubleCts] :: TcPluginSolveResult -> [Ct]
+ GHC.TypeLits.Presburger.Compat: [tcPluginNewCts] :: TcPluginSolveResult -> [Ct]
+ GHC.TypeLits.Presburger.Compat: [tcPluginRewrite] :: TcPlugin -> s -> UniqFM TyCon TcPluginRewriter
+ GHC.TypeLits.Presburger.Compat: [tcPluginSolvedCts] :: TcPluginSolveResult -> [(EvTerm, Ct)]
+ GHC.TypeLits.Presburger.Compat: algTcFields :: TyConDetails -> FieldLabelEnv
+ GHC.TypeLits.Presburger.Compat: cTupleDataCon :: Arity -> DataCon
+ GHC.TypeLits.Presburger.Compat: cTupleTyCon :: Arity -> TyCon
+ GHC.TypeLits.Presburger.Compat: compatibleBranches :: CoAxBranch -> CoAxBranch -> Bool
+ GHC.TypeLits.Presburger.Compat: dATA_TYPE_ORD :: Module
+ GHC.TypeLits.Presburger.Compat: data () => ExpandSynResult tyco
+ GHC.TypeLits.Presburger.Compat: data () => FamInstEnv
+ GHC.TypeLits.Presburger.Compat: data () => PromDataConInfo
+ GHC.TypeLits.Presburger.Compat: data () => Subst
+ GHC.TypeLits.Presburger.Compat: data () => TcPluginSolveResult
+ GHC.TypeLits.Presburger.Compat: data () => Unique
+ GHC.TypeLits.Presburger.Compat: data () => UnivCoProvenance
+ GHC.TypeLits.Presburger.Compat: dataConWrapId :: DataCon -> Id
+ GHC.TypeLits.Presburger.Compat: emptySubst :: Subst
+ GHC.TypeLits.Presburger.Compat: evCast :: EvExpr -> TcCoercion -> EvTerm
+ GHC.TypeLits.Presburger.Compat: familyNameInstances :: (FamInstEnv, FamInstEnv) -> Name -> [FamInst]
+ GHC.TypeLits.Presburger.Compat: getEqBoolTyCon :: TcPluginM TyCon
+ GHC.TypeLits.Presburger.Compat: getVoidTyCon :: TcPluginM TyCon
+ GHC.TypeLits.Presburger.Compat: isConcreteTyCon :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: isDataKindsPromotedDataCon :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: isMonoTcTyCon :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: isTypeDataTyCon :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: isVisibleTcbVis :: TyConBndrVis -> Bool
+ GHC.TypeLits.Presburger.Compat: mkBaseModule :: FastString -> Module
+ GHC.TypeLits.Presburger.Compat: mkInvisAnonTyConBinder :: TyVar -> TyConBinder
+ GHC.TypeLits.Presburger.Compat: mkLevPolyDataTyConRhs :: Bool -> Bool -> [DataCon] -> AlgTyConRhs
+ GHC.TypeLits.Presburger.Compat: mkUnivCo :: UnivCoProvenance -> Role -> Type -> Type -> Coercion
+ GHC.TypeLits.Presburger.Compat: orphNamesOfFamInst :: FamInst -> NameSet
+ GHC.TypeLits.Presburger.Compat: pattern TcPluginContradiction :: [Ct] -> TcPluginSolveResult
+ GHC.TypeLits.Presburger.Compat: pattern TcPluginOk :: [(EvTerm, Ct)] -> [Ct] -> TcPluginSolveResult
+ GHC.TypeLits.Presburger.Compat: primElemRepToPrimRep :: PrimElemRep -> PrimRep
+ GHC.TypeLits.Presburger.Compat: primRepIsInt :: PrimRep -> Bool
+ GHC.TypeLits.Presburger.Compat: primRepIsWord :: PrimRep -> Bool
+ GHC.TypeLits.Presburger.Compat: tcHasFixedRuntimeRep :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: tcTyConScopedTyVars :: TyCon -> [(Name, TcTyVar)]
+ GHC.TypeLits.Presburger.Compat: tyConBinderForAllTyFlag :: TyConBinder -> ForAllTyFlag
+ GHC.TypeLits.Presburger.Compat: tyConBndrVisForAllTyFlag :: TyConBndrVis -> ForAllTyFlag
+ GHC.TypeLits.Presburger.Compat: tyConMustBeSaturated :: TyCon -> Bool
+ GHC.TypeLits.Presburger.Compat: tyConPromDataConInfo :: TyCon -> PromDataConInfo
+ GHC.TypeLits.Presburger.Compat: type TCvSubst = Subst
+ GHC.TypeLits.Presburger.Compat: type TyConPiTyBinder = VarBndr TyCoVar TyConBndrVis
+ GHC.TypeLits.Presburger.Compat: unionFamInstEnv :: FamInstEnv -> FamInstEnv -> FamInstEnv
+ GHC.TypeLits.Presburger.Compat: unionSubst :: Subst -> Subst -> Subst
- GHC.TypeLits.Presburger.Compat: AnonTCB :: AnonArgFlag -> TyConBndrVis
+ GHC.TypeLits.Presburger.Compat: AnonTCB :: FunTyFlag -> TyConBndrVis
- GHC.TypeLits.Presburger.Compat: DataTyCon :: [DataCon] -> Int -> Bool -> AlgTyConRhs
+ GHC.TypeLits.Presburger.Compat: DataTyCon :: [DataCon] -> Int -> Bool -> Bool -> Bool -> AlgTyConRhs
- GHC.TypeLits.Presburger.Compat: ExprHoleOrigin :: Maybe OccName -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: ExprHoleOrigin :: Maybe RdrName -> CtOrigin
- GHC.TypeLits.Presburger.Compat: ForAllTy :: {-# UNPACK #-} !TyCoVarBinder -> Type -> Type
+ GHC.TypeLits.Presburger.Compat: ForAllTy :: {-# UNPACK #-} !ForAllTyBinder -> Type -> Type
- GHC.TypeLits.Presburger.Compat: FunTy :: AnonArgFlag -> Mult -> Type -> Type -> Type
+ GHC.TypeLits.Presburger.Compat: FunTy :: FunTyFlag -> Mult -> Type -> Type -> Type
- GHC.TypeLits.Presburger.Compat: GenericUnitInfo :: uid -> compid -> [(modulename, mod)] -> srcpkgid -> srcpkgname -> Version -> Maybe srcpkgname -> ShortText -> [uid] -> [(uid, ShortText)] -> [FilePathST] -> [ShortText] -> [ShortText] -> [ShortText] -> [FilePathST] -> [FilePathST] -> [ShortText] -> [FilePathST] -> [ShortText] -> [ShortText] -> [ShortText] -> [FilePathST] -> [FilePathST] -> [FilePathST] -> [(modulename, Maybe mod)] -> [modulename] -> Bool -> Bool -> Bool -> GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
+ GHC.TypeLits.Presburger.Compat: GenericUnitInfo :: uid -> uid -> [(modulename, mod)] -> srcpkgid -> srcpkgname -> Version -> Maybe srcpkgname -> ShortText -> [uid] -> [(uid, ShortText)] -> [FilePathST] -> [ShortText] -> [ShortText] -> [ShortText] -> [FilePathST] -> [FilePathST] -> [ShortText] -> [FilePathST] -> [ShortText] -> [ShortText] -> [ShortText] -> [FilePathST] -> [FilePathST] -> [FilePathST] -> [(modulename, Maybe mod)] -> [modulename] -> Bool -> Bool -> Bool -> GenericUnitInfo srcpkgid srcpkgname uid modulename mod
- GHC.TypeLits.Presburger.Compat: GivenOrigin :: SkolemInfo -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: GivenOrigin :: SkolemInfoAnon -> CtOrigin
- GHC.TypeLits.Presburger.Compat: HsModule :: EpAnn AnnsModule -> LayoutInfo -> Maybe (LocatedA ModuleName) -> Maybe (LocatedL [LIE GhcPs]) -> [LImportDecl GhcPs] -> [LHsDecl GhcPs] -> Maybe (LocatedP WarningTxt) -> Maybe LHsDocString -> HsModule
+ GHC.TypeLits.Presburger.Compat: HsModule :: XCModule p -> Maybe (XRec p ModuleName) -> Maybe (XRec p [LIE p]) -> [LImportDecl p] -> [LHsDecl p] -> HsModule p
- GHC.TypeLits.Presburger.Compat: HsParsedModule :: Located HsModule -> [FilePath] -> HsParsedModule
+ GHC.TypeLits.Presburger.Compat: HsParsedModule :: Located (HsModule GhcPs) -> [FilePath] -> HsParsedModule
- GHC.TypeLits.Presburger.Compat: ImportDecl :: XCImportDecl pass -> SourceText -> XRec pass ModuleName -> Maybe StringLiteral -> IsBootInterface -> Bool -> ImportDeclQualifiedStyle -> Bool -> Maybe (XRec pass ModuleName) -> Maybe (Bool, XRec pass [LIE pass]) -> ImportDecl pass
+ GHC.TypeLits.Presburger.Compat: ImportDecl :: XCImportDecl pass -> XRec pass ModuleName -> ImportDeclPkgQual pass -> IsBootInterface -> Bool -> ImportDeclQualifiedStyle -> Maybe (XRec pass ModuleName) -> Maybe (ImportListInterpretation, XRec pass [LIE pass]) -> ImportDecl pass
- GHC.TypeLits.Presburger.Compat: NamedTCB :: ArgFlag -> TyConBndrVis
+ GHC.TypeLits.Presburger.Compat: NamedTCB :: ForAllTyFlag -> TyConBndrVis
- GHC.TypeLits.Presburger.Compat: Plugin :: CorePlugin -> TcPlugin -> HoleFitPlugin -> ([CommandLineOption] -> HscEnv -> IO HscEnv) -> ([CommandLineOption] -> IO PluginRecompile) -> ([CommandLineOption] -> ModSummary -> HsParsedModule -> Hsc HsParsedModule) -> ([CommandLineOption] -> TcGblEnv -> HsGroup GhcRn -> TcM (TcGblEnv, HsGroup GhcRn)) -> ([CommandLineOption] -> ModSummary -> TcGblEnv -> TcM TcGblEnv) -> ([CommandLineOption] -> LHsExpr GhcTc -> TcM (LHsExpr GhcTc)) -> (forall lcl. () => [CommandLineOption] -> ModIface -> IfM lcl ModIface) -> Plugin
+ GHC.TypeLits.Presburger.Compat: Plugin :: CorePlugin -> TcPlugin -> DefaultingPlugin -> HoleFitPlugin -> ([CommandLineOption] -> HscEnv -> IO HscEnv) -> ([CommandLineOption] -> IO PluginRecompile) -> ([CommandLineOption] -> ModSummary -> ParsedResult -> Hsc ParsedResult) -> ([CommandLineOption] -> TcGblEnv -> HsGroup GhcRn -> TcM (TcGblEnv, HsGroup GhcRn)) -> ([CommandLineOption] -> ModSummary -> TcGblEnv -> TcM TcGblEnv) -> ([CommandLineOption] -> LHsExpr GhcTc -> TcM (LHsExpr GhcTc)) -> (forall lcl. () => [CommandLineOption] -> ModIface -> IfM lcl ModIface) -> Plugin
- GHC.TypeLits.Presburger.Compat: RuntimeRep :: ([Type] -> [PrimRep]) -> RuntimeRepInfo
+ GHC.TypeLits.Presburger.Compat: RuntimeRep :: ([Type] -> [PrimRep]) -> PromDataConInfo
- GHC.TypeLits.Presburger.Compat: ScOrigin :: TypeSize -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: ScOrigin :: ClsInstOrQC -> NakedScFlag -> CtOrigin
- GHC.TypeLits.Presburger.Compat: TcPlugin :: TcPluginM s -> (s -> TcPluginSolver) -> (s -> TcPluginM ()) -> TcPlugin
+ GHC.TypeLits.Presburger.Compat: TcPlugin :: TcPluginM s -> (s -> TcPluginSolver) -> (s -> UniqFM TyCon TcPluginRewriter) -> (s -> TcPluginM ()) -> TcPlugin
- GHC.TypeLits.Presburger.Compat: TypeEqOrigin :: TcType -> TcType -> Maybe SDoc -> Bool -> CtOrigin
+ GHC.TypeLits.Presburger.Compat: TypeEqOrigin :: TcType -> TcType -> Maybe TypedThing -> Bool -> CtOrigin
- GHC.TypeLits.Presburger.Compat: VecCount :: Int -> RuntimeRepInfo
+ GHC.TypeLits.Presburger.Compat: VecCount :: Int -> PromDataConInfo
- GHC.TypeLits.Presburger.Compat: VecElem :: PrimElemRep -> RuntimeRepInfo
+ GHC.TypeLits.Presburger.Compat: VecElem :: PrimElemRep -> PromDataConInfo
- GHC.TypeLits.Presburger.Compat: [ft_af] :: Type -> AnonArgFlag
+ GHC.TypeLits.Presburger.Compat: [ft_af] :: Type -> FunTyFlag
- GHC.TypeLits.Presburger.Compat: [hpm_module] :: HsParsedModule -> Located HsModule
+ GHC.TypeLits.Presburger.Compat: [hpm_module] :: HsParsedModule -> Located (HsModule GhcPs)
- GHC.TypeLits.Presburger.Compat: [hsmodDecls] :: HsModule -> [LHsDecl GhcPs]
+ GHC.TypeLits.Presburger.Compat: [hsmodDecls] :: HsModule p -> [LHsDecl p]
- GHC.TypeLits.Presburger.Compat: [hsmodExports] :: HsModule -> Maybe (LocatedL [LIE GhcPs])
+ GHC.TypeLits.Presburger.Compat: [hsmodExports] :: HsModule p -> Maybe (XRec p [LIE p])
- GHC.TypeLits.Presburger.Compat: [hsmodImports] :: HsModule -> [LImportDecl GhcPs]
+ GHC.TypeLits.Presburger.Compat: [hsmodImports] :: HsModule p -> [LImportDecl p]
- GHC.TypeLits.Presburger.Compat: [hsmodName] :: HsModule -> Maybe (LocatedA ModuleName)
+ GHC.TypeLits.Presburger.Compat: [hsmodName] :: HsModule p -> Maybe (XRec p ModuleName)
- GHC.TypeLits.Presburger.Compat: [ideclPkgQual] :: ImportDecl pass -> Maybe StringLiteral
+ GHC.TypeLits.Presburger.Compat: [ideclPkgQual] :: ImportDecl pass -> ImportDeclPkgQual pass
- GHC.TypeLits.Presburger.Compat: [parsedResultAction] :: Plugin -> [CommandLineOption] -> ModSummary -> HsParsedModule -> Hsc HsParsedModule
+ GHC.TypeLits.Presburger.Compat: [parsedResultAction] :: Plugin -> [CommandLineOption] -> ModSummary -> ParsedResult -> Hsc ParsedResult
- GHC.TypeLits.Presburger.Compat: [unitAbiDepends] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [(uid, ShortText)]
+ GHC.TypeLits.Presburger.Compat: [unitAbiDepends] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [(uid, ShortText)]
- GHC.TypeLits.Presburger.Compat: [unitAbiHash] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> ShortText
+ GHC.TypeLits.Presburger.Compat: [unitAbiHash] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> ShortText
- GHC.TypeLits.Presburger.Compat: [unitCcOptions] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitCcOptions] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitComponentName] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> Maybe srcpkgname
+ GHC.TypeLits.Presburger.Compat: [unitComponentName] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> Maybe srcpkgname
- GHC.TypeLits.Presburger.Compat: [unitDepends] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [uid]
+ GHC.TypeLits.Presburger.Compat: [unitDepends] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [uid]
- GHC.TypeLits.Presburger.Compat: [unitExposedModules] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [(modulename, Maybe mod)]
+ GHC.TypeLits.Presburger.Compat: [unitExposedModules] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [(modulename, Maybe mod)]
- GHC.TypeLits.Presburger.Compat: [unitExtDepFrameworkDirs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitExtDepFrameworkDirs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitExtDepFrameworks] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitExtDepFrameworks] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitExtDepLibsGhc] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitExtDepLibsGhc] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitExtDepLibsSys] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitExtDepLibsSys] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitHaddockHTMLs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitHaddockHTMLs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitHaddockInterfaces] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitHaddockInterfaces] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitHiddenModules] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [modulename]
+ GHC.TypeLits.Presburger.Compat: [unitHiddenModules] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [modulename]
- GHC.TypeLits.Presburger.Compat: [unitId] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> uid
+ GHC.TypeLits.Presburger.Compat: [unitId] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> uid
- GHC.TypeLits.Presburger.Compat: [unitImportDirs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitImportDirs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitIncludeDirs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitIncludeDirs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitIncludes] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitIncludes] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitInstanceOf] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> compid
+ GHC.TypeLits.Presburger.Compat: [unitInstanceOf] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> uid
- GHC.TypeLits.Presburger.Compat: [unitInstantiations] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [(modulename, mod)]
+ GHC.TypeLits.Presburger.Compat: [unitInstantiations] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [(modulename, mod)]
- GHC.TypeLits.Presburger.Compat: [unitIsExposed] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> Bool
+ GHC.TypeLits.Presburger.Compat: [unitIsExposed] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> Bool
- GHC.TypeLits.Presburger.Compat: [unitIsIndefinite] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> Bool
+ GHC.TypeLits.Presburger.Compat: [unitIsIndefinite] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> Bool
- GHC.TypeLits.Presburger.Compat: [unitIsTrusted] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> Bool
+ GHC.TypeLits.Presburger.Compat: [unitIsTrusted] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> Bool
- GHC.TypeLits.Presburger.Compat: [unitLibraries] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitLibraries] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitLibraryDirs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitLibraryDirs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitLibraryDynDirs] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [FilePathST]
+ GHC.TypeLits.Presburger.Compat: [unitLibraryDynDirs] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [FilePathST]
- GHC.TypeLits.Presburger.Compat: [unitLinkerOptions] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> [ShortText]
+ GHC.TypeLits.Presburger.Compat: [unitLinkerOptions] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> [ShortText]
- GHC.TypeLits.Presburger.Compat: [unitPackageId] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> srcpkgid
+ GHC.TypeLits.Presburger.Compat: [unitPackageId] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> srcpkgid
- GHC.TypeLits.Presburger.Compat: [unitPackageName] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> srcpkgname
+ GHC.TypeLits.Presburger.Compat: [unitPackageName] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> srcpkgname
- GHC.TypeLits.Presburger.Compat: [unitPackageVersion] :: GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod -> Version
+ GHC.TypeLits.Presburger.Compat: [unitPackageVersion] :: GenericUnitInfo srcpkgid srcpkgname uid modulename mod -> Version
- GHC.TypeLits.Presburger.Compat: [uo_thing] :: CtOrigin -> Maybe SDoc
+ GHC.TypeLits.Presburger.Compat: [uo_thing] :: CtOrigin -> Maybe TypedThing
- GHC.TypeLits.Presburger.Compat: data AlgTyConFlav
+ GHC.TypeLits.Presburger.Compat: data () => AlgTyConFlav
- GHC.TypeLits.Presburger.Compat: data AlgTyConRhs
+ GHC.TypeLits.Presburger.Compat: data () => AlgTyConRhs
- GHC.TypeLits.Presburger.Compat: data BuiltInSynFamily
+ GHC.TypeLits.Presburger.Compat: data () => BuiltInSynFamily
- GHC.TypeLits.Presburger.Compat: data Ct
+ GHC.TypeLits.Presburger.Compat: data () => Ct
- GHC.TypeLits.Presburger.Compat: data CtEvidence
+ GHC.TypeLits.Presburger.Compat: data () => CtEvidence
- GHC.TypeLits.Presburger.Compat: data CtLoc
+ GHC.TypeLits.Presburger.Compat: data () => CtLoc
- GHC.TypeLits.Presburger.Compat: data CtOrigin
+ GHC.TypeLits.Presburger.Compat: data () => CtOrigin
- GHC.TypeLits.Presburger.Compat: data EqRel
+ GHC.TypeLits.Presburger.Compat: data () => EqRel
- GHC.TypeLits.Presburger.Compat: data EvTerm
+ GHC.TypeLits.Presburger.Compat: data () => EvTerm
- GHC.TypeLits.Presburger.Compat: data FamFlavor
+ GHC.TypeLits.Presburger.Compat: data () => FamFlavor
- GHC.TypeLits.Presburger.Compat: data FamInst
+ GHC.TypeLits.Presburger.Compat: data () => FamInst
- GHC.TypeLits.Presburger.Compat: data FamInstMatch
+ GHC.TypeLits.Presburger.Compat: data () => FamInstMatch
- GHC.TypeLits.Presburger.Compat: data FamTyConFlav
+ GHC.TypeLits.Presburger.Compat: data () => FamTyConFlav
- GHC.TypeLits.Presburger.Compat: data FastString
+ GHC.TypeLits.Presburger.Compat: data () => FastString
- GHC.TypeLits.Presburger.Compat: data GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
+ GHC.TypeLits.Presburger.Compat: data () => GenericUnitInfo srcpkgid srcpkgname uid modulename mod
- GHC.TypeLits.Presburger.Compat: data HsModule
+ GHC.TypeLits.Presburger.Compat: data () => HsModule p
- GHC.TypeLits.Presburger.Compat: data HsParsedModule
+ GHC.TypeLits.Presburger.Compat: data () => HsParsedModule
- GHC.TypeLits.Presburger.Compat: data Hsc a
+ GHC.TypeLits.Presburger.Compat: data () => Hsc a
- GHC.TypeLits.Presburger.Compat: data HscEnv
+ GHC.TypeLits.Presburger.Compat: data () => HscEnv
- GHC.TypeLits.Presburger.Compat: data ImportDecl pass
+ GHC.TypeLits.Presburger.Compat: data () => ImportDecl pass
- GHC.TypeLits.Presburger.Compat: data ImportDeclQualifiedStyle
+ GHC.TypeLits.Presburger.Compat: data () => ImportDeclQualifiedStyle
- GHC.TypeLits.Presburger.Compat: data Injectivity
+ GHC.TypeLits.Presburger.Compat: data () => Injectivity
- GHC.TypeLits.Presburger.Compat: data InjectivityCheckResult
+ GHC.TypeLits.Presburger.Compat: data () => InjectivityCheckResult
- GHC.TypeLits.Presburger.Compat: data IsBootInterface
+ GHC.TypeLits.Presburger.Compat: data () => IsBootInterface
- GHC.TypeLits.Presburger.Compat: data ModuleName
+ GHC.TypeLits.Presburger.Compat: data () => ModuleName
- GHC.TypeLits.Presburger.Compat: data NoExtField
+ GHC.TypeLits.Presburger.Compat: data () => NoExtField
- GHC.TypeLits.Presburger.Compat: data Plugin
+ GHC.TypeLits.Presburger.Compat: data () => Plugin
- GHC.TypeLits.Presburger.Compat: data Pred
+ GHC.TypeLits.Presburger.Compat: data () => Pred
- GHC.TypeLits.Presburger.Compat: data PrimElemRep
+ GHC.TypeLits.Presburger.Compat: data () => PrimElemRep
- GHC.TypeLits.Presburger.Compat: data PrimRep
+ GHC.TypeLits.Presburger.Compat: data () => PrimRep
- GHC.TypeLits.Presburger.Compat: data Role
+ GHC.TypeLits.Presburger.Compat: data () => Role
- GHC.TypeLits.Presburger.Compat: data TcPlugin
+ GHC.TypeLits.Presburger.Compat: data () => TcPlugin
- GHC.TypeLits.Presburger.Compat: data TcPluginM a
+ GHC.TypeLits.Presburger.Compat: data () => TcPluginM a
- GHC.TypeLits.Presburger.Compat: data TyCon
+ GHC.TypeLits.Presburger.Compat: data () => TyCon
- GHC.TypeLits.Presburger.Compat: data TyConBndrVis
+ GHC.TypeLits.Presburger.Compat: data () => TyConBndrVis
- GHC.TypeLits.Presburger.Compat: data TyConFlavour
+ GHC.TypeLits.Presburger.Compat: data () => TyConFlavour
- GHC.TypeLits.Presburger.Compat: data TyLit
+ GHC.TypeLits.Presburger.Compat: data () => TyLit
- GHC.TypeLits.Presburger.Compat: data Type
+ GHC.TypeLits.Presburger.Compat: data () => Type
- GHC.TypeLits.Presburger.Compat: data UnitDatabase unit
+ GHC.TypeLits.Presburger.Compat: data () => UnitDatabase unit
- GHC.TypeLits.Presburger.Compat: emptyTCvSubst :: TCvSubst
+ GHC.TypeLits.Presburger.Compat: emptyTCvSubst :: Subst
- GHC.TypeLits.Presburger.Compat: expandSynTyCon_maybe :: TyCon -> [tyco] -> Maybe ([(TyVar, tyco)], Type, [tyco])
+ GHC.TypeLits.Presburger.Compat: expandSynTyCon_maybe :: TyCon -> [tyco] -> ExpandSynResult tyco
- GHC.TypeLits.Presburger.Compat: lookupFamInstEnvConflicts :: FamInstEnvs -> FamInst -> [FamInstMatch]
+ GHC.TypeLits.Presburger.Compat: lookupFamInstEnvConflicts :: FamInstEnvs -> FamInst -> [FamInst]
- GHC.TypeLits.Presburger.Compat: lookupPackageName :: UnitState -> PackageName -> Maybe IndefUnitId
+ GHC.TypeLits.Presburger.Compat: lookupPackageName :: UnitState -> PackageName -> Maybe UnitId
- GHC.TypeLits.Presburger.Compat: matchFam :: TyCon -> [Type] -> TcPluginM (Maybe (TcCoercion, TcType))
+ GHC.TypeLits.Presburger.Compat: matchFam :: TyCon -> [Type] -> TcPluginM (Maybe Reduction)
- GHC.TypeLits.Presburger.Compat: mkAnonTyConBinder :: AnonArgFlag -> TyVar -> TyConBinder
+ GHC.TypeLits.Presburger.Compat: mkAnonTyConBinder :: TyVar -> TyConBinder
- GHC.TypeLits.Presburger.Compat: mkAnonTyConBinders :: AnonArgFlag -> [TyVar] -> [TyConBinder]
+ GHC.TypeLits.Presburger.Compat: mkAnonTyConBinders :: [TyVar] -> [TyConBinder]
- GHC.TypeLits.Presburger.Compat: mkNamedTyConBinder :: ArgFlag -> TyVar -> TyConBinder
+ GHC.TypeLits.Presburger.Compat: mkNamedTyConBinder :: ForAllTyFlag -> TyVar -> TyConBinder
- GHC.TypeLits.Presburger.Compat: mkNamedTyConBinders :: ArgFlag -> [TyVar] -> [TyConBinder]
+ GHC.TypeLits.Presburger.Compat: mkNamedTyConBinders :: ForAllTyFlag -> [TyVar] -> [TyConBinder]
- GHC.TypeLits.Presburger.Compat: mkPromotedDataCon :: DataCon -> Name -> TyConRepName -> [TyConTyCoBinder] -> Kind -> [Role] -> RuntimeRepInfo -> TyCon
+ GHC.TypeLits.Presburger.Compat: mkPromotedDataCon :: DataCon -> Name -> TyConRepName -> [TyConPiTyBinder] -> Kind -> [Role] -> PromDataConInfo -> TyCon
- GHC.TypeLits.Presburger.Compat: mkSumTyCon :: Name -> [TyConBinder] -> Kind -> Arity -> [TyVar] -> [DataCon] -> AlgTyConFlav -> TyCon
+ GHC.TypeLits.Presburger.Compat: mkSumTyCon :: Name -> [TyConBinder] -> Kind -> [DataCon] -> AlgTyConFlav -> TyCon
- GHC.TypeLits.Presburger.Compat: mkTupleTyCon :: Name -> [TyConBinder] -> Kind -> Arity -> DataCon -> TupleSort -> AlgTyConFlav -> TyCon
+ GHC.TypeLits.Presburger.Compat: mkTupleTyCon :: Name -> [TyConBinder] -> Kind -> DataCon -> TupleSort -> AlgTyConFlav -> TyCon
- GHC.TypeLits.Presburger.Compat: newtype PackageName
+ GHC.TypeLits.Presburger.Compat: newtype () => PackageName
- GHC.TypeLits.Presburger.Compat: normaliseTcApp :: FamInstEnvs -> Role -> TyCon -> [Type] -> (Coercion, Type)
+ GHC.TypeLits.Presburger.Compat: normaliseTcApp :: FamInstEnvs -> Role -> TyCon -> [Type] -> Reduction
- GHC.TypeLits.Presburger.Compat: normaliseType :: FamInstEnvs -> Role -> Type -> (Coercion, Type)
+ GHC.TypeLits.Presburger.Compat: normaliseType :: FamInstEnvs -> Role -> Type -> Reduction
- GHC.TypeLits.Presburger.Compat: primElemRepSizeB :: PrimElemRep -> Int
+ GHC.TypeLits.Presburger.Compat: primElemRepSizeB :: Platform -> PrimElemRep -> Int
- GHC.TypeLits.Presburger.Compat: reduceTyFamApp_maybe :: FamInstEnvs -> Role -> TyCon -> [Type] -> Maybe (Coercion, Type)
+ GHC.TypeLits.Presburger.Compat: reduceTyFamApp_maybe :: FamInstEnvs -> Role -> TyCon -> [Type] -> Maybe Reduction
- GHC.TypeLits.Presburger.Compat: text :: String -> SDoc
+ GHC.TypeLits.Presburger.Compat: text :: IsLine doc => String -> doc
- GHC.TypeLits.Presburger.Compat: topNormaliseType_maybe :: FamInstEnvs -> Type -> Maybe (Coercion, Type)
+ GHC.TypeLits.Presburger.Compat: topNormaliseType_maybe :: FamInstEnvs -> Type -> Maybe Reduction
- GHC.TypeLits.Presburger.Compat: topReduceTyFamApp_maybe :: FamInstEnvs -> TyCon -> [Type] -> Maybe (Coercion, Type, MCoercion)
+ GHC.TypeLits.Presburger.Compat: topReduceTyFamApp_maybe :: FamInstEnvs -> TyCon -> [Type] -> Maybe HetReduction
- GHC.TypeLits.Presburger.Types: infix 4 :<
+ GHC.TypeLits.Presburger.Types: infix 4 :>=
- GHC.TypeLits.Presburger.Types: infixl 6 :+
+ GHC.TypeLits.Presburger.Types: infixl 6 :-

Files

Changelog.md view
@@ -1,5 +1,10 @@ # Changelog +## 0.7.4.0++* Supports GHC 9.10+* Drops GHC <9.2+ ## 0.7.3.0  * Supports GHC 9.8
ghc-typelits-presburger.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.35.2.+-- This file has been generated from package.yaml by hpack version 0.36.0. -- -- see: https://github.com/sol/hpack ----- hash: 979226dcc13643574c669d5607b3d16d2cb873154282a49ef47bfd9c8b52c073+-- hash: f52bad218d1394e10b8a760cdc99d47bb03d4ea2f2949d4afcf3da8711c53c60  name:          ghc-typelits-presburger-version:       0.7.3.0+version:       0.7.4.0 synopsis:      Presburger Arithmetic Solver for GHC Type-level natural numbers. description:   @ghc-typelits-presburger@ augments GHC type-system with Presburger                Arithmetic Solver for Type-level natural numbers.@@ -30,7 +30,7 @@ license:       BSD3 license-file:  LICENSE tested-with:-    GHC==9.0.2 GHC==9.2.7 GHC==9.4.4 GHC==9.6.3 GHC==9.8.1+    GHC==9.2.8 GHC==9.4.8 GHC==9.6.5 GHC==9.8.2 GHC==9.10.1 extra-source-files:     Changelog.md build-type:    Simple@@ -59,7 +59,7 @@   build-depends:       base >=4.7 && <5     , containers-    , ghc <9.9+    , ghc <9.11     , ghc-tcplugins-extra >=0.2 && <0.5     , mtl     , pretty
src/GHC/TypeLits/Presburger/Compat.hs view
@@ -9,11 +9,22 @@  module GHC.TypeLits.Presburger.Compat (module GHC.TypeLits.Presburger.Compat) where +import GHC.TypeLits.Presburger.Flags import Data.Coerce (coerce) import Data.Function (on) import Data.Functor ((<&>)) import Data.Generics.Twins-import GHC.Builtin.Names as GHC.TypeLits.Presburger.Compat (gHC_TYPENATS)+import qualified GHC.Types.Unique as Unique (getKey, Unique)+import GHC.Types.Unique as GHC.TypeLits.Presburger.Compat (Unique, getUnique)+#if MIN_VERSION_ghc(9,10,1)+import GHC.Builtin.Names (gHC_INTERNAL_TYPENATS, gHC_INTERNAL_TYPEERROR)+import GHC.Builtin.Names (mkGhcInternalModule)+#else+import GHC.Builtin.Names (gHC_TYPENATS)+#if MIN_VERSION_ghc(9,4,1)+import GHC.Builtin.Names (gHC_TYPENATS, gHC_TYPEERROR)+#endif+#endif import GHC.Tc.Types.Constraint as GHC.TypeLits.Presburger.Compat (CtLoc (..), initialSubGoalDepth) import GHC.Tc.Types.Origin as GHC.TypeLits.Presburger.Compat (CtOrigin (..)) import GHC.TcPluginM.Extra as GHC.TypeLits.Presburger.Compat (@@ -33,10 +44,9 @@ import GHC.Tc.Types as GHC.TypeLits.Presburger.Compat (TcPlugin (..), TcPluginResult (..)) #endif #if MIN_VERSION_ghc(9,4,1)-import GHC.Builtin.Names as GHC.TypeLits.Presburger.Compat (mkBaseModule, gHC_TYPEERROR)+import GHC.Builtin.Names as GHC.TypeLits.Presburger.Compat (mkBaseModule) import GHC.Core.Reduction (reductionReducedType) #else-import GHC.Builtin.Names as GHC.TypeLits.Presburger.Compat (dATA_TYPE_EQUALITY) import qualified GHC.Builtin.Names as Old #endif import GHC.Builtin.Types as GHC.TypeLits.Presburger.Compat (@@ -64,6 +74,7 @@ import GHC.Unit.Types as GHC.TypeLits.Presburger.Compat (mkModule) #if MIN_VERSION_ghc(9,2,0) import GHC.Driver.Env.Types as GHC.TypeLits.Presburger.Compat (HscEnv (hsc_dflags))+import GHC.Builtin.Names (mkBaseModule) #else import GHC.Driver.Types as GHC.TypeLits.Presburger.Compat (HscEnv (hsc_dflags)) import GHC.Driver.Session (unitState, unitDatabases)@@ -163,7 +174,6 @@ import GHC.Tc.Utils.TcType as GHC.TypeLits.Presburger.Compat (tcTyFamInsts) import qualified GHC.TcPluginM.Extra as Extra import GHC.Types.Name.Occurrence as GHC.TypeLits.Presburger.Compat (emptyOccSet, mkInstTyTcOcc)-import GHC.Types.Unique as GHC.TypeLits.Presburger.Compat (getKey, getUnique) import GHC.Unit.Module as GHC.TypeLits.Presburger.Compat (ModuleName, mkModuleName) import GHC.Unit.State (UnitState (preloadUnits), initUnits) import GHC.Unit.State as GHC.TypeLits.Presburger.Compat (lookupPackageName)@@ -174,11 +184,26 @@ type TcPluginSolveResult = TcPluginResult #endif -#if MIN_VERSION_ghc(9,4,1)+#if MIN_VERSION_ghc(9,10,1) dATA_TYPE_EQUALITY :: Module+dATA_TYPE_EQUALITY = mkGhcInternalModule "GHC.Internal.Data.Type.Equality"+#else+dATA_TYPE_EQUALITY :: Module dATA_TYPE_EQUALITY = mkBaseModule "Data.Type.Equality" #endif +#if MIN_VERSION_ghc(9,10,1)+gHC_TYPEERROR :: Module+gHC_TYPEERROR = gHC_INTERNAL_TYPEERROR++gHC_TYPENATS :: Module+gHC_TYPENATS =  gHC_INTERNAL_TYPENATS+#elif !MIN_VERSION_ghc(9,4,1)+gHC_TYPEERROR :: Module+gHC_TYPEERROR = mkBaseModule "GHC.TypeLits"+#endif++ type PredTree = Pred  data TvSubst = TvSubst InScopeSet TvSubstEnv@@ -242,9 +267,12 @@  getEqWitnessTyCon :: TcPluginM TyCon getEqWitnessTyCon = do-  md <- lookupModule (mkModuleName "Data.Type.Equality") (fsLit "base")-  tcLookupTyCon =<< lookupOrig md (mkTcOcc ":~:")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_EQUALITY (mkTcOcc ":~:") +getEqBoolTyCon :: TcPluginM TyCon+getEqBoolTyCon = do+  tcLookupTyCon =<< lookupOrig dATA_TYPE_EQUALITY (mkTcOcc "==")+ decompFunTy :: Type -> [Type] decompFunTy (FunTy _ _ t1 t2) = t1 : decompFunTy t2 decompFunTy t = [t]@@ -368,11 +396,16 @@ mtypeNatLeqTyCon = Just typeNatLeqTyCon #endif +dATA_TYPE_ORD :: Module+#if MIN_VERSION_ghc(9,10,0)+dATA_TYPE_ORD = mkGhcInternalModule "GHC.Internal.Data.Type.Ord"+#else+dATA_TYPE_ORD = mkBaseModule "Data.Type.Ord"+#endif+ lookupTyNatPredLeq :: TcPluginM Name #if MIN_VERSION_ghc(9,2,0)-lookupTyNatPredLeq = do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  lookupOrig tyOrd (mkTcOcc "<=")+lookupTyNatPredLeq = lookupOrig dATA_TYPE_ORD (mkTcOcc "<=") #else lookupTyNatPredLeq =    lookupOrig gHC_TYPENATS (mkTcOcc "<=")@@ -380,9 +413,7 @@  lookupTyNatBoolLeq :: TcPluginM TyCon #if MIN_VERSION_ghc(9,2,0)-lookupTyNatBoolLeq = do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc "<=?")+lookupTyNatBoolLeq = tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc "<=?") #else lookupTyNatBoolLeq =    pure typeNatLeqTyCon@@ -402,8 +433,7 @@ -- hence we MUST NOT desugar it with <= 9.2.1 #if MIN_VERSION_ghc(9,2,2) lookupTyNatPredLt = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc "<")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc "<") #else lookupTyNatPredLt = pure Nothing #endif@@ -411,8 +441,7 @@ lookupTyNatBoolLt :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyNatBoolLt = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc "<?")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc "<?") #else lookupTyNatBoolLt = pure Nothing #endif@@ -420,8 +449,7 @@ lookupTyNatPredGt :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyNatPredGt = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc ">")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc ">") #else lookupTyNatPredGt = pure Nothing #endif@@ -429,8 +457,7 @@ lookupTyNatBoolGt :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyNatBoolGt = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc ">?")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc ">?") #else lookupTyNatBoolGt = pure Nothing #endif@@ -438,8 +465,7 @@ lookupTyNatPredGeq :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyNatPredGeq = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc ">=")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc ">=") #else lookupTyNatPredGeq = pure Nothing #endif@@ -447,8 +473,7 @@ lookupTyNatBoolGeq :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyNatBoolGeq = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc ">=?")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc ">=?") #else lookupTyNatBoolGeq = pure Nothing #endif@@ -456,8 +481,7 @@ mOrdCondTyCon :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) mOrdCondTyCon = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc "OrdCond")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc "OrdCond") #else mOrdCondTyCon = pure Nothing #endif@@ -465,15 +489,17 @@ lookupTyGenericCompare :: TcPluginM (Maybe TyCon) #if MIN_VERSION_ghc(9,2,0) lookupTyGenericCompare = Just <$> do-  tyOrd <- lookupModule (mkModuleName "Data.Type.Ord") "base"-  tcLookupTyCon =<< lookupOrig tyOrd (mkTcOcc "Compare")+  tcLookupTyCon =<< lookupOrig dATA_TYPE_ORD (mkTcOcc "Compare") #else lookupTyGenericCompare = pure Nothing #endif  lookupBool47 :: String -> TcPluginM (Maybe TyCon)-#if MIN_VERSION_base(4,17,0)+#if MIN_VERSION_ghc(9,10,0) lookupBool47 nam = Just <$> do+  tcLookupTyCon =<< lookupOrig (mkGhcInternalModule "GHC.Internal.Data.Type.Bool") (mkTcOcc nam)+#elif MIN_VERSION_base(4,17,0)+lookupBool47 nam = Just <$> do   tcLookupTyCon =<< lookupOrig (mkBaseModule "Data.Type.Bool") (mkTcOcc nam) #else lookupBool47 = const $ pure Nothing@@ -490,4 +516,22 @@ matchFam' con args = fmap reductionReducedType <$> matchFam con args #else matchFam' con args = fmap snd <$> matchFam con args +#endif++getKey :: Unique.Unique -> Int+#if MIN_VERSION_ghc(9,10,1)+getKey = fromIntegral . Unique.getKey+#else+getKey = Unique.getKey+#endif++getVoidTyCon :: TcPluginM TyCon+getVoidTyCon = tcLookupTyCon =<< lookupOrig aMod (mkTcOcc "Void")+  where +#if MIN_VERSION_ghc(9,10,1)+    aMod = mkGhcInternalModule "GHC.Internal.Base"+#elif MIN_VERSION_ghc(9,6,1)+    aMod = mkBaseModule "GHC.Base"+#else+    aMod = mkBaseModule "Data.Void" #endif
src/GHC/TypeLits/Presburger/Flags.hs view
@@ -5,11 +5,16 @@  data GHCVer    = GHC806 | GHC808 | GHC810 -  | GHC900 | GHC902 | GHC904 | GHC906+  | GHC900 | GHC902 | GHC904 +  | GHC906 | GHC908 | GHC910   deriving (Show, Eq, Ord, Generic)  ghcVer :: GHCVer-#if MIN_VERSION_ghc(9,6,1)+#if MIN_VERSION_ghc(9,10,1)+ghcVer = GHC910+#elif MIN_VERSION_ghc(9,8,1)+ghcVer = GHC908+#elif MIN_VERSION_ghc(9,6,1) ghcVer = GHC906 #elif MIN_VERSION_ghc(9,4,1) ghcVer = GHC904
src/GHC/TypeLits/Presburger/Types.hs view
@@ -392,14 +392,10 @@         pure ([], [])    eqTyCon_ <- getEqTyCon-  eqBoolTyCon <- tcLookupTyCon =<< lookupOrig dATA_TYPE_EQUALITY (mkTcOcc "==")+  eqBoolTyCon <- getEqBoolTyCon   eqWitCon_ <- getEqWitnessTyCon   assertTy <- lookupAssertTyCon-  vmd <- -    if ghcVer >= GHC906-    then lookupModule (mkModuleName "GHC.Base") (fsLit "base")-    else lookupModule (mkModuleName "Data.Void") (fsLit "base")-  voidTyCon <- tcLookupTyCon =<< lookupOrig vmd (mkTcOcc "Void")+  voidTyCon <- getVoidTyCon   nLeq <- tcLookupTyCon =<< lookupTyNatPredLeq   tyLeqB <- lookupTyNatBoolLeq   mTyLtP <- lookupTyNatPredLt
test/GHC/TypeLits/PresburgerSpec.hs view
@@ -24,6 +24,7 @@               [ "Could not deduce: (n GHC.TypeNats.+ 1) ~ n"               , "Could not deduce ((n GHC.TypeNats.+ 1) ~ n)"               , "Could not deduce ‘(n GHC.TypeNats.+ 1) ~ n’"+              , "[GHC-25897]"               ]               -> pure ()           _ -> assertFailure $ "TypeError with mismatch expected, but got: " <> show eith@@ -35,6 +36,7 @@               [ "Could not deduce: (n GHC.TypeNats.+ 1) ~ n"               , "Could not deduce ((n GHC.TypeNats.+ 1) ~ n)"               , "Could not deduce ‘(n GHC.TypeNats.+ 1) ~ n’"+              , "[GHC-25897]"               ] -> pure ()           _ -> assertFailure $ "TypeError with mismatch expected, but got: " <> show eith     ]