• Simon Peyton Jones's avatar
    Tidy up and refactor wildcard handling · 95364812
    Simon Peyton Jones authored
    When examining #10615, I found the wildcard handling hard
    to understand.  This patch refactors quite a bit, but with
    no real change in behaviour.
     * Split out TcIdSigInfo from TcSigInfo, as a separate type,
       like TcPatSynInfo.
     * Make TcIdSigInfo express more invariants by pushing the
       wildard info into TcIdSigBndr
     * Remove all special treatment of unification variables that arise
       from wildcards; so the TauTv of TcType.MetaInfo loses its Bool
    A ton of konck on changes.  The result is significantly simpler, I think.
TcPatSyn.hs 24 KB