Skip to content

GHC2021 makes the impossible possible (No skolem info)

Summary

Tried to use GHC2021, but GHC crashes. I didn't figure out the exact problem yet. It probably has to do with a specific extension.

The error message leads to this piece of code: https://github.com/jumper149/deriving-trans/blob/fb8492bc8347eac8b3c7844d0b54dae0b683c719/src/Control/Monad/Trans/Compose.hs#L189

deriving via Mtl.T.ContT r (t2 (m :: Type -> Type))
  instance Mtl.MonadCont (ComposeT (Mtl.T.ContT r) t2 m)

Steps to reproduce

Run nix build on this commit: https://github.com/jumper149/deriving-trans/commit/fb8492bc8347eac8b3c7844d0b54dae0b683c719

You can also look at the GitHub Actions of the commit, but I'm pretty sure only this is relevant:

    building
    Preprocessing library for deriving-trans-0.6.1.0..
    Building library for deriving-trans-0.6.1.0..
    [1 of 7] Compiling Control.Monad.Accum.OrphanInstances ( src/Control/Monad/Accum/OrphanInstances.hs, dist/build/Control/Monad/Accum/OrphanInstances.o, dist/build/Control/Monad/Accum/OrphanInstances.dyn_o )
    [2 of 7] Compiling Control.Monad.Select.OrphanInstances ( src/Control/Monad/Select/OrphanInstances.hs, dist/build/Control/Monad/Select/OrphanInstances.o, dist/build/Control/Monad/Select/OrphanInstances.dyn_o )
    [3 of 7] Compiling Control.Monad.Trans.Elevator ( src/Control/Monad/Trans/Elevator.hs, dist/build/Control/Monad/Trans/Elevator.o, dist/build/Control/Monad/Trans/Elevator.dyn_o )
    [4 of 7] Compiling Control.Monad.Trans.Compose.Transparent ( src/Control/Monad/Trans/Compose/Transparent.hs, dist/build/Control/Monad/Trans/Compose/Transparent.o, dist/build/Control/Monad/Trans/Compose/Transparent.dyn_o )
    [5 of 7] Compiling Control.Monad.Trans.Compose ( src/Control/Monad/Trans/Compose.hs, dist/build/Control/Monad/Trans/Compose.o, dist/build/Control/Monad/Trans/Compose.dyn_o )
    src/Control/Monad/Trans/Compose.hs:189:37: error:ghc: panic! (the 'impossible' happened)
      (GHC version 9.2.4:
            No skolem info:
      [k_aeaQ]
      Call stack:
          CallStack (from HasCallStack):
            callStackDoc, called at compiler/GHC/Utils/Panic.hs:181:37 in ghc:GHC.Utils.Panic
            pprPanic, called at compiler/GHC/Tc/Errors.hs:2912:17 in ghc:GHC.Tc.Errors
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

Expected behavior

Just works (tm)?

Environment

  • GHC version used: 9.2.4
  • Nix 2.12.0 with flakes enabled

Optional:

  • Operating System: NixOS Linux
  • System Architecture: x86_64
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information