NamedDefaults doesn't correctly handle poly-kinded classes
Consider the following example program:
module T25882 ( Cls, default Cls ) where
import Data.Kind
type Cls :: k -> Constraint
class Cls a where
instance Cls Char
default Cls (Char)
I get the following strange error:
T25882.hs:12:1: error: [GHC-88933]
* The default type `Char' is not an instance of `Cls'
* When checking the types in a default declaration
|
| default Cls (Char)
| ^^^^^^^^^^^^^^^^^^^^
I think this is because of invisible kind parameters. If we make the kind of the class Type -> Constraint
then it works as expected.
Edited by sheaf