haskell / error-messages

73 stars 18 forks source link

Suggest language extension for unlifted data family #535

Open monoidal opened 1 year ago

monoidal commented 1 year ago

When defining an unlifted datatype or newtype, GHC helpfully tells me Suggested fix: Perhaps you intended to use UnliftedNewtypes or UnliftedDatatypes. But this does not happen with data families, as can be tested by comparing the errors for A, B, C, D:

{-# LANGUAGE TypeFamilies, MagicHash, DataKinds #-}
module NT where

import GHC.Exts

{-
newtype A = MkA Int#

type B :: UnliftedType
data B = MkB
-}

data family C :: TYPE IntRep
newtype instance C = MkC Int#

data family D :: UnliftedType
data instance D = MkD
noughtmare commented 1 year ago

I agree that this could be improved. There's not much to debate, so I'd say you can immediately open a GHC issue about this.