Skip to content

GHC should not allow lazy field syntax for unlifted fields.

See this example:

{-# LANGUAGE UnliftedDatatypes #-}
{-# LANGUAGE StrictData #-}

module Wibble where

import Data.Kind
import GHC.Exts

type U :: UnliftedType
data U = MkU Int

data T = T ~U

~U makes no sense. What would it even mean to allow a unlifted field to be lazy?

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