kowainik / summoner

🔮 🔧 Tool for scaffolding batteries-included production-level Haskell projects
https://kowainik.github.io/projects/summoner
Mozilla Public License 2.0
702 stars 73 forks source link

Build failure on GHC 9.6 #575

Closed Vekhir closed 2 months ago

Vekhir commented 11 months ago

Building summoner 2.0.1.1 on GHC 9.6.3 fails with the following error:

[22 of 23] Compiling Summoner.CLI

src/Summoner/CLI.hs:426:10: error: [GHC-83865]
    • Couldn't match type: p0 Summoner.Config.:- [GhcVer]
                     with: Last [GhcVer]
      Expected: Summoner.Config.Partial Summoner.Config.:- [GhcVer]
        Actual: p0 Summoner.Config.:- [GhcVer]
        The type variable ‘p0’ is ambiguous
    • In a record update at fields ‘cGitHub’, ‘cGhActions’, ‘cTravis’,
                                   ‘cAppVey’, ‘cPrivate’, ‘cLib’, ‘cExe’, ‘cTest’, ‘cBench’,
      with type constructor ‘ConfigP’
      and data constructor ‘ConfigP’.
      In a stmt of a 'do' block:
        return mempty
                 {cGitHub = cGitHub, cGhActions = cGhActions, cTravis = cTravis,
                  cAppVey = cAppVey, cPrivate = cPrivate, cLib = cLib, cExe = cExe,
                  cTest = cTest, cBench = cBench}
      In the expression:
        do cGitHub <- githubP d
           cGhActions <- ghActionsP d
           cTravis <- travisP d
           cAppVey <- appVeyorP d
           cPrivate <- privateP d
           cLib <- libraryP d
           cExe <- execP d
           cTest <- testP d
           cBench <- benchmarkP d
           return mempty
                    {cGitHub = cGitHub, cGhActions = cGhActions, cTravis = cTravis,
                     cAppVey = cAppVey, cPrivate = cPrivate, cLib = cLib, cExe = cExe,
                     cTest = cTest, cBench = cBench}
    |
426 |     pure mempty
    |          ^^^^^^...

-- Vekhir

Vekhir commented 2 months ago

This can be fixed by replacing pure mempty with pure (mempty :: PartialConfig)

Vekhir commented 2 months ago

Addressed in 278d9b4615a168796eb330da08d45843d46a4797