[commit: ghc] ghc-8.0: Kill off zipTopTCvSubst in favour of zipOpenTCvSubst (f47feda)

git at git.haskell.org git at git.haskell.org
Wed Jan 27 12:05:09 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.0
Link       : http://ghc.haskell.org/trac/ghc/changeset/f47feda9c1a5298fbcf40a5aba87750d19e14157/ghc

>---------------------------------------------------------------

commit f47feda9c1a5298fbcf40a5aba87750d19e14157
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Tue Jan 26 09:37:06 2016 +0000

    Kill off zipTopTCvSubst in favour of zipOpenTCvSubst
    
    As Bartosz has discovered, the invariants for substitutions were
    wrong, and in particular the "mkTop...Subst" and "zipTop..Subst"
    functions were building substitutions that didn't obey even the
    old invariants.
    
    This patch kills of the bogus zipTopTCvSubst in favour of the
    more robust zipOpenTCvSubst.
    
    I tripped over this because my upcoming patch (concerning SetLevels,
    Trac #11330) triggered an ASSERT failure in the substitution
    well-formedness assertion in TyCoRep.
    
    (cherry picked from commit 1c6d70c2121fd1126fcc2458bdbcc856e19598c2)


>---------------------------------------------------------------

f47feda9c1a5298fbcf40a5aba87750d19e14157
 compiler/deSugar/Check.hs     |  2 +-
 compiler/iface/BuildTyCl.hs   |  6 +++---
 compiler/typecheck/TcDeriv.hs |  4 ++--
 compiler/typecheck/TcPat.hs   |  2 +-
 compiler/typecheck/TcType.hs  |  4 ++--
 compiler/types/TyCoRep.hs     | 35 ++++++++++++++---------------------
 compiler/types/Type.hs        |  4 ++--
 7 files changed, 25 insertions(+), 32 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc f47feda9c1a5298fbcf40a5aba87750d19e14157


More information about the ghc-commits mailing list