Support GHC version 9.14.1.#58
Conversation
The new version promotes several warnings to errors in CI: - `missing-fields` - `unused-packages` - `incomplete-patterns` - `incomplete-uni-patterns` Subsequent commits address the resulting build failures.
|
I'm not convinced the pattern-matching changes don't impact performance, but I don't have time to test it right now. |
Understood. Instead of changing the pattern matches, perhaps we could simply demote the errors back to warnings by adding one of the following pragmas to each affected module (there are only four such modules):
Alternatively, we could either:
|
|
Option 0 seems best, with the |
This makes it possible to reproduce CI build failures locally without having to run the full CI pipeline.
Packages `primes` and `QuickCheck` were actually unused in the test suite. (Unused packages are now flagged as errors by the upgraded CI configuration.)
This change adds the following pragma to a small selection of modules
that use irrefutable patterns:
```
{-# OPTIONS_GHC -Wwarn=incomplete-uni-patterns #-}
```
This ensures that warnings are still emitted for the affected modules,
but prevents them from being promoted to errors by CI.
8f7006d to
d6301cc
Compare
|
@blamario wrote:
Thanks for the feedback! I've updated the PR to implement this option. |
|
Thanks and sorry for nitpicks. Are you waiting for a new Hackage release? |
No worries at all. Nitpicks are always welcome!
I'm not waiting or blocked, as the latest Hackage version already compiles with GHC 9.14. But since the |
Fixes #57.
This change adds support for GHC
9.14.1by:tested-withsection of the.cabalfile; andhaskell-ciconfiguration.The newer version of
haskell-cipromotes several warnings to errors in CI, includingunused-packagesandincomplete-uni-patterns.In light of this, this change also:
primesandQuickCheck.incomplete-uni-patternsto a warning via{-# OPTIONS_GHC -Wwarn=incomplete-uni-patterns #-}cabal.projectto make it easy to reproduce CI build failures locally.