Skip to content
  • Andrei Borzenkov's avatar
    Lazy skolemisation for @a-binders (#17594) · f5d3e03c
    Andrei Borzenkov authored and Marge Bot's avatar Marge Bot committed
    This patch is a preparation for @a-binders implementation.  The main changes are:
    
    * Skolemisation is now prepared to deal with @binders.
      See Note [Skolemisation overview] in GHC.Tc.Utils.Unify.
      Most of the action is in
        - Utils.Unify.matchExpectedFunTys
        - Gen.Pat.tcMatchPats
        - Gen.Expr.tcPolyExprCheck
        - Gen.Binds.tcPolyCheck
    
    Some accompanying refactoring:
    
    * I found that funTyConAppTy_maybe was doing a lot of allocation, and
      rejigged userTypeError_maybe to avoid calling it.
    f5d3e03c