Custom type errors don't trigger when matching on a GADT constructor with an error in the constraint
The following code fails to compile (as it should)
data D where A :: C => D type family C :: Constraint where C = 'True ~ 'False f :: D -> () f A = ()
with the error "Couldn't match type 'True with 'False".
This code, however, does compile without an issue:
data D where A :: C => D type family C :: Constraint where C = TypeError ('Text "error") f :: D -> () f A = ()
I feel that this is a bug.