
On Tue, Jul 23, 2024 at 04:51:34PM +0200, Henning Thielemann wrote:
I have this simplified module: [...] src/Ganeti/LensPlain.hs:8:32: error: [GHC-25897] • Couldn't match kind ‘k2’ with ‘*’
GHC-9.0 accepts the code. Also GHC-9.2 accepts it when the module is compiled as part of a larger Cabal project! [...] I compiled with:
$ ghc-9.6.6 -package lens -c src/Ganeti/LensPlain.hs
A major difference between 9.0 and 9.2 is that GHC2021 is enabled by default in 9.2. GHC2021 enables PolyKinds, and presumably what used to be assumed to be * (Type) is now generalized to k2. The simplest solution is probably just to put {-# LANGUAGE NoPolyKinds #-} at the top of LensPlain.hs. The reason it works as part of a Cabal project is that Cabal does not turn on GHC2021 by default. Tom