msakai / data-interval

Interval datatype, interval arithmetic, and interval-based containers for Haskell
Other
21 stars 9 forks source link

CI breaks against GHC 9.2.1 due to lattices-1.2.1.1 #34

Closed ocramz closed 3 years ago

ocramz commented 3 years ago

Error :

Algebra/PartialOrd.hs:47:43: error:
    • Data.Map.fold is gone. Use foldr.
cabal-3.6.2.0: Failed to build lattices-1.2.1.1. See the build log above for details.

I suggest importing a newer version of 'lattices', which doesn't use Data.Map.fold

Bodigrim commented 3 years ago

I've seen the error in CI logs, but I cannot reproduce it locally. Seems like an intermittent Cabal solver bug: lattices-1.2.1.1 demands containers >=0.3 && <0.6, while GHC 9.2 ships with containers-0.6.5.1. And yet build plan says:

Build profile: -w ghc-9.2.1 -O1
In order, the following would be built (use -v for more details):
 - call-stack-0.4.0 (lib) (requires download & build)
 - clock-0.8.2 (lib) (requires download & build)
 - colour-2.3.6 (lib) (requires download & build)
 - happy-1.20.0 (exe:happy) (requires download & build)
 - hashable-1.4.0.0 (lib) (requires download & build)
 - lattices-1.2.1.1 (lib:lattices) (requires download & build)
Bodigrim commented 3 years ago

CC @gbaz @fgaz, any idea what's happened with Cabal solver here?

gbaz commented 3 years ago

No issue with the solver. The CI "helpfully" generates a cabal.project with allow-newer on containers. Don't ask me why!

https://github.com/msakai/data-interval/runs/4085308309?check_suite_focus=true#step:14:36

Bodigrim commented 3 years ago

Ah, right, that's my bad: haskell-ci-0.13.20211029 treats GHC 9.2.1 as unreleased and helpfully enables head.hackage and allow-newer for all packages. I should have used haskell-ci-0.13.20211030. Thanks @gbaz!

Bodigrim commented 3 years ago

Fixed by 6b62faf1dc4de5a8cad241a10eedf90fa4c2b825. Thanks @ocramz!