Skip to content
  • Simon Peyton Jones's avatar
    Ensure that insolubles are fully rewritten · 433b80de
    Simon Peyton Jones authored
    I was alerted to this by Trac #12468 and #11325.  We were treating
    insolubles (and "hole" constraints are treated as insoluble)
    inconsistently.  In some places we were carefully rewriting them
    e.g. Note [Make sure that insolubles are fully rewritten] in
    TcCanonical.  But in TcSimplify we weren't feeding them into
    the solver.
    
    As a result, "hole" constraints were not being rewritten, which
    some users found confusing, and I think rightly so.
    
    This patch also fixes a bug in TcSMonad.emitInsoluble, in which two
    different "hole" constriants could be treated (bogusly) as duplicates,
    thereby losing one.
    433b80de