Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Simon Peyton Jones's avatar
    433b80de
    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
    History
    Ensure that insolubles are fully rewritten
    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.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.