Skip to content
  • Simon Peyton Jones's avatar
    Fix a typo in TcValidity.checkFamInstRhs · 8c7f90ab
    Simon Peyton Jones authored
    In error message generation we were using the wrong
    type constructor in inst_head.  Result: the type became
    ill-kinded, and that sent the compiler into a loop.
    
    A separate patch fixes the loop. This patch fixes the
    actual bug -- Trac #15473.
    
    I also improved the "occurs more often" error message
    a bit.  But it's still pretty terrible:
    
        * Variable ‘a’ occurs more often
          in the type family application ‘Undefined’
          than in the instance head ‘LetInterleave xs t ts is y z’
    
    It looks like nonsense, but all becomes clear if you use
    -fprint-explicit-kinds.  Really we should fix this by spotting
    when invisible arguments are involved and at least suggesting
    -fprint-explicit-kinds.
    8c7f90ab