• Simon Peyton Jones's avatar
    Remove wc_insol from WantedConstraints · f20cf982
    Simon Peyton Jones authored
    This patch is a pure refactoring, which I've wanted to do for
    some time.  The main payload is
    * Remove the wc_insol field from WantedConstraints;
      instead put all the insolubles in wc_simple
    * Remove inert_insols from InertCans
      Instead put all the insolubles in inert_irreds
    * Add a cc_insol flag to CIrredCan, to record that
      the constraint is definitely insoluble
    * Quite a bit of code gets slightly simpler
    * Fewer concepts to keep separate
    * Insolubles don't happen at all in production code that is
      just being recompiled, so previously there was a lot of
      moving-about of empty sets
    A couple of error messages acutally improved.
TcErrors.hs 126 KB