• simonpj@microsoft.com's avatar
    Improve consistency checking for derived instances · 7f0ce617
    simonpj@microsoft.com authored
    This patch arranges that derived instances use the same instance-decl
    checking code as user-defined instances.  That gives greater consistency
    in error messages.
    
    Furthermore, the error description if this consistency check fails is now
    much more explicit.  For example, drvfail003 now says
         Variable occurs more often in a constraint than in the instance head
           in the constraint: Show (v (v a))
         (Use -fallow-undecidable-instances to permit this)
         In the derived instance
           instance (Show (v (v a))) => Show (Square_ v w a)
    7f0ce617
TcSimplify.lhs 85.5 KB