• 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
    
    Reasons
    
    * 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.
    f20cf982
TcErrors.hs 126 KB