Skip to content

persistent-2.12.0.1 build fail #1220

@FUZASHI

Description

@FUZASHI

Can't build with ghc-9.0.1

Database\Persist\TH.hs:280:17: error:
    * Couldn't match type `TExp a3' with `SqlTypeExp'
      Expected: SqlTypeExp -> Code m SqlTypeExp
        Actual: SqlTypeExp -> Code m (TExp a3)
    * In the expression: unsafeTExpCoerce . lift
      In an equation for `liftTyped': liftTyped = unsafeTExpCoerce . lift
      In the instance declaration for `Lift SqlTypeExp'
    |
280 |     liftTyped = unsafeTExpCoerce . lift
    |                 ^^^^^^^^^^^^^^^^^^^^^^^

Database\Persist\TH.hs:289:17: error:
    * Couldn't match type `TExp a2' with `FieldsSqlTypeExp'
      Expected: FieldsSqlTypeExp -> Code m FieldsSqlTypeExp
        Actual: FieldsSqlTypeExp -> Code m (TExp a2)
    * In the expression: unsafeTExpCoerce . lift
      In an equation for `liftTyped': liftTyped = unsafeTExpCoerce . lift
      In the instance declaration for `Lift FieldsSqlTypeExp'
    |
289 |     liftTyped = unsafeTExpCoerce . lift
    |                 ^^^^^^^^^^^^^^^^^^^^^^^

Database\Persist\TH.hs:301:17: error:
    * Couldn't match type `TExp a1' with `FieldSqlTypeExp'
      Expected: FieldSqlTypeExp -> Code m FieldSqlTypeExp
        Actual: FieldSqlTypeExp -> Code m (TExp a1)
    * In the expression: unsafeTExpCoerce . lift
      In an equation for `liftTyped': liftTyped = unsafeTExpCoerce . lift
      In the instance declaration for `Lift FieldSqlTypeExp'
    |
301 |     liftTyped = unsafeTExpCoerce . lift
    |                 ^^^^^^^^^^^^^^^^^^^^^^^

Database\Persist\TH.hs:311:17: error:
    * Couldn't match type `TExp a0' with `EntityDefSqlTypeExp'
      Expected: EntityDefSqlTypeExp -> Code m EntityDefSqlTypeExp
        Actual: EntityDefSqlTypeExp -> Code m (TExp a0)
    * In the expression: unsafeTExpCoerce . lift
      In an equation for `liftTyped': liftTyped = unsafeTExpCoerce . lift
      In the instance declaration for `Lift EntityDefSqlTypeExp'
    |
311 |     liftTyped = unsafeTExpCoerce . lift
    |                 ^^^^^^^^^^^^^^^^^^^^^^^

Database\Persist\TH.hs:600:31: error:
    * Couldn't match type: flag0 -> TyVarBndr flag0
                     with: TyVarBndr ()
      Expected: [TyVarBndr ()]
        Actual: [flag0 -> TyVarBndr flag0]
    * In the third argument of `DataD', namely `paramsFinal'
      In the second argument of `($)', namely
        `DataD
           [] nameFinal paramsFinal Nothing constrs
           (stockDerives <> anyclassDerives)'
      In a stmt of a 'do' block:
        pure
          $ DataD
              [] nameFinal paramsFinal Nothing constrs
              (stockDerives <> anyclassDerives)
    * Relevant bindings include
        paramsFinal :: [flag0 -> TyVarBndr flag0]
          (bound at Database\Persist\TH.hs:622:17)
    |
600 |     pure $ DataD [] nameFinal paramsFinal
    |                               ^^^^^^^^^^^

Database\Persist\TH.hs:1361:35: 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 `vars'
      In the first argument of `($)', namely
        `ForallT vars [mkClassP ''Functor [VarT fT]]'
      In the second argument of `($)', namely
        `ForallT vars [mkClassP ''Functor [VarT fT]]
           $ (aT `arrow` (VarT fT `AppT` bT))
               `arrow` (sT `arrow` (VarT fT `AppT` tT))'
    * Relevant bindings include
        vars :: [flag1 -> TyVarBndr flag1]
          (bound at Database\Persist\TH.hs:1358:9)
     |
1361 |         [ SigD lensName $ ForallT vars [mkClassP ''Functor [VarT fT]] $
     |                                   ^^^^

Database\Persist\TH.hs:1545:43: error:
    * Couldn't match expected type `Exp'
                  with actual type `[Stmt] -> Exp'
    * Probable cause: `DoE' is applied to too few arguments
      In the second argument of `normalClause', namely `(DoE stmts)'
      In the expression: normalClause [VarP key] (DoE stmts)
      In the second argument of `FunD', namely
        `[normalClause [VarP key] (DoE stmts)]'
     |
1545 |                 [normalClause [VarP key] (DoE stmts)]
     |                                           ^^^^^^^^^

Database\Persist\TH.hs:1545:47: error:
    * Couldn't match expected type: Maybe ModName
                  with actual type: [Stmt]
    * In the first argument of `DoE', namely `stmts'
      In the second argument of `normalClause', namely `(DoE stmts)'
      In the expression: normalClause [VarP key] (DoE stmts)
     |
1545 |                 [normalClause [VarP key] (DoE stmts)]
     |                                               ^^^^^

Database\Persist\TH.hs:1717:15: error:
    * Couldn't match type `[Stmt] -> Exp' with `Exp'
      Expected: Q Exp
        Actual: Q ([Stmt] -> Exp)
    * In a stmt of a 'do' block: return (DoE $ defsStmt : stmts)
      In the expression:
        do defsName <- newName "defs"
           defsStmt <- do defs' <- mapM (liftAndFixKeys entityMap) defs
                          let ...
                          ....
           stmts <- mapM (toStmt $ VarE defsName) defs
           return (DoE $ defsStmt : stmts)
      In a case alternative:
          _ -> do defsName <- newName "defs"
                  defsStmt <- do defs' <- mapM (liftAndFixKeys entityMap) defs
                                 ....
                  stmts <- mapM (toStmt $ VarE defsName) defs
                  ....
     |
1717 |               return (DoE $ defsStmt : stmts)
     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Database\Persist\TH.hs:1717:29: error:
    * Couldn't match expected type: Maybe ModName
                  with actual type: [Stmt]
    * In the second argument of `($)', namely `defsStmt : stmts'
      In the first argument of `return', namely
        `(DoE $ defsStmt : stmts)'
      In a stmt of a 'do' block: return (DoE $ defsStmt : stmts)
     |
1717 |               return (DoE $ defsStmt : stmts)
     |                             ^^^^^^^^^^^^^^^^

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