Open
Description
data PFoo (s :: S) = PFoo
{ foo :: Term s (PAsData (PBuiltinList Crypto.PPubKeyHash))
}
Current, above compiles fine with DeriveAsDataStruct
because strategy actually don't check if each field is PIsData
. Instead, it checks to see if PInnerMost of each fields are PData. This is to reduce requiring PIsData
constraint on every polymorphic types. Technically, it is fine as it is. Since there's no instance PIsData (PBuiltinList Crypto.PPubKeyHash)
, it is impossible to construct such value altogether.
But, I'd like to have this fail on compilation for better UX
Metadata
Assignees
Labels
No labels
Activity