Skip to content

Build failure with GHC 9.0 #9

@sjakobi

Description

@sjakobi
Data/EnumMapSetWrapper.hs:201:13: error:
    • Expecting one more argument to ‘TyVarBndr’
      Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
    • In the type signature: subB :: TyVarBndr -> TyVarBndr
      In an equation for ‘substT’:
          substT from to
            = subT
            where
                subT :: Type -> Type
                subT typ
                  = case typ of
                      VarT ((==) from -> True) -> VarT to
                      s `AppT` t -> subT s `AppT` subT t
                      ForallT tvs cxt t
                        -> ForallT tvs' cxt' (subT t)
                        where
                            ...
                      _ -> typ
                subB :: TyVarBndr -> TyVarBndr
                subB tv
                  = case tv of
                      PlainTV ((==) from -> True) -> PlainTV to
                      KindedTV ((==) from -> True) k -> KindedTV to k
                      _ -> tv
                ....
    |
201 |     subB :: TyVarBndr -> TyVarBndr
    |             ^^^^^^^^^

Data/EnumMapSetWrapper.hs:201:26: error:
    • Expecting one more argument to ‘TyVarBndr’
      Expected a type, but ‘TyVarBndr’ has kind ‘* -> *’
    • In the type signature: subB :: TyVarBndr -> TyVarBndr
      In an equation for ‘substT’:
          substT from to
            = subT
            where
                subT :: Type -> Type
                subT typ
                  = case typ of
                      VarT ((==) from -> True) -> VarT to
                      s `AppT` t -> subT s `AppT` subT t
                      ForallT tvs cxt t
                        -> ForallT tvs' cxt' (subT t)
                        where
                            ...
                      _ -> typ
                subB :: TyVarBndr -> TyVarBndr
                subB tv
                  = case tv of
                      PlainTV ((==) from -> True) -> PlainTV to
                      KindedTV ((==) from -> True) k -> KindedTV to k
                      _ -> tv
                ....
    |
201 |     subB :: TyVarBndr -> TyVarBndr
    |                          ^^^^^^^^^

Data/EnumMapSetWrapper.hs:243:30: error:
    • Couldn't match type: flag0 -> TyVarBndr flag0
                     with: TyVarBndr Specificity
      Expected: [TyVarBndr Specificity]
        Actual: [flag0 -> TyVarBndr flag0]
    • In the first argument of ‘ForallT’, namely ‘(ks ++ tvs)’
      In the expression: ForallT (ks ++ tvs) (nub $ cxt' ++ cxt) t
      In a case alternative:
          ForallT tvs cxt t -> ForallT (ks ++ tvs) (nub $ cxt' ++ cxt) t
    |
243 |                     ForallT (ks ++ tvs) (nub $ cxt' ++ cxt) t
    |                              ^^^^^^^^^

Data/EnumMapSetWrapper.hs:243:36: error:
    • Couldn't match type: TyVarBndr Specificity
                     with: flag0 -> TyVarBndr flag0
      Expected: [flag0 -> TyVarBndr flag0]
        Actual: [TyVarBndr Specificity]
    • In the second argument of ‘(++)’, namely ‘tvs’
      In the first argument of ‘ForallT’, namely ‘(ks ++ tvs)’
      In the expression: ForallT (ks ++ tvs) (nub $ cxt' ++ cxt) t
    |
243 |                     ForallT (ks ++ tvs) (nub $ cxt' ++ cxt) t
    |                                    ^^^

Data/EnumMapSetWrapper.hs:244:30: error:
    • Couldn't match type: flag1 -> TyVarBndr flag1
                     with: TyVarBndr Specificity
      Expected: [TyVarBndr Specificity]
        Actual: [flag1 -> TyVarBndr flag1]
    • In the first argument of ‘ForallT’, namely ‘ks’
      In the expression: ForallT ks cxt' t
      In a case alternative: t -> ForallT ks cxt' t
    |
244 |                 t -> ForallT ks cxt' t
    |                              ^^
cabal: Failed to build enummapset-th-0.6.2.

See https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#template-haskell-217 for some guidance on fixing this.

As a Hackage trustee, I have created a revision that should prevent users from encountering this error: https://hackage.haskell.org/package/enummapset-th-0.6.2/revisions/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions