Skip to content

Cannot use quantified constraints as type arguments

{-# LANGUAGE GADTs, ImpredicativeTypes #-}

import Data.Kind (Constraint)

data Dict (c :: Constraint) where
    MkDict :: c => Dict c

forallListEqDict :: Dict (forall a. Eq a => Eq [a])
forallListEqDict = MkDict

This was accepted by GHC-9.0, but isn't by GHC-9.2 and GHC-9.4

cc @Icelandjack and @Ericson2314, this is relevant for recent Eq1/Ord1/... changes. It seems there might be problems threading quantified constraints through manually.

(I run with other issues (a panic) using GHC-9.0, but I cannot try them on GHC-9.4 as it doesn't allow me to even begin!)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information