[commit: ghc] master: Apply the right substitution in ty-fam improvement (2b64e92)

git at git.haskell.org git at git.haskell.org
Mon Jan 23 08:28:48 UTC 2017


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/2b64e926a628fb2a3710b0360123ea73331166fe/ghc

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

commit 2b64e926a628fb2a3710b0360123ea73331166fe
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Fri Jan 20 23:47:28 2017 +0000

    Apply the right substitution in ty-fam improvement
    
    Trac #13135 showed that we were failing to apply the
    correct substitution to the un-substituted tyvars during
    type-family improvement using injectivity.  Specifically
    in TcInteractlinjImproveEqns we need to use instFlexiX.
    
    An outright bug, easy to fix.
    
    Slight refactoring along the way.  The quantified tyars of the axiom are
    readily to hand; we don't need to take the free tyvars of the LHS


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

2b64e926a628fb2a3710b0360123ea73331166fe
 compiler/typecheck/TcInteract.hs                   |  48 ++++----
 compiler/typecheck/TcSMonad.hs                     |  26 ++---
 testsuite/tests/dependent/should_fail/T13135.hs    | 122 +++++++++++++++++++++
 .../tests/dependent/should_fail/T13135.stderr      |  10 ++
 testsuite/tests/dependent/should_fail/all.T        |   1 +
 5 files changed, 171 insertions(+), 36 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 2b64e926a628fb2a3710b0360123ea73331166fe


More information about the ghc-commits mailing list