Skip to content
  • sheaf's avatar
    8d686854
    Remove zonk in tcVTA · 8d686854
    sheaf authored and Marge Bot's avatar Marge Bot committed
    This removes the zonk in GHC.Tc.Gen.App.tc_inst_forall_arg and its
    accompanying Note [Visible type application zonk]. Indeed, this zonk
    is no longer necessary, as we no longer maintain the invariant that
    types are well-kinded without zonking; only that typeKind does not
    crash; see Note [The Purely Kinded Type Invariant (PKTI)].
    
    This commit removes this zonking step (as well as a secondary zonk),
    and replaces the aforementioned Note with the explanatory
    Note [Type application substitution], which justifies why the
    substitution performed in tc_inst_forall_arg remains valid without
    this zonking step.
    
    Fixes #23661
    8d686854
    Remove zonk in tcVTA
    sheaf authored and Marge Bot's avatar Marge Bot committed
    This removes the zonk in GHC.Tc.Gen.App.tc_inst_forall_arg and its
    accompanying Note [Visible type application zonk]. Indeed, this zonk
    is no longer necessary, as we no longer maintain the invariant that
    types are well-kinded without zonking; only that typeKind does not
    crash; see Note [The Purely Kinded Type Invariant (PKTI)].
    
    This commit removes this zonking step (as well as a secondary zonk),
    and replaces the aforementioned Note with the explanatory
    Note [Type application substitution], which justifies why the
    substitution performed in tc_inst_forall_arg remains valid without
    this zonking step.
    
    Fixes #23661
Loading