Error message when deriving Typeable without PolyKinds
Module M:
{-# LANGUAGE PolyKinds #-}
module M where
data A a
Module N:
{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}
module N where
import M
import Data.Typeable
deriving instance Typeable A
We get a confusing error message:
N.hs:7:1:
Derived typeable instance must be of form (Typeable A)
In the stand-alone deriving instance for ‛Typeable A’
The error disappears when N is compiled with -XPolyKinds. The reason is: without -XPolyKinds, A defaults to A *. I think it's simplest to suggest the flag in the error message.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |