Skip to content
  • Simon Peyton Jones's avatar
    Make isInsolubleOccursCheck more aggressive · c2eea089
    Simon Peyton Jones authored
    Consider
      type family F a :: * -> *
    
    Then (a ~ F Int a) is an insoluble occurs check, and can be reported
    as such.  Previous to this patch, TcType.isInsolubleOccursCheck was
    treating any type-family application (including an over-saturated one)
    as unconditionally not-insoluble.
    
    This really only affects error messages, and then only slightly. I
    tripped over this when investigating  Trac #13674.
    c2eea089