[commit: ghc] master: Unwrap casts before checking vars in eager unifier (042df60)

git at git.haskell.org git at git.haskell.org
Tue Jul 10 23:55:32 UTC 2018


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/042df603cbb5a77ec13ccfec2ce7bad2bb940aae/ghc

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

commit 042df603cbb5a77ec13ccfec2ce7bad2bb940aae
Author: Richard Eisenberg <rae at cs.brynmawr.edu>
Date:   Thu Jul 5 14:21:43 2018 -0400

    Unwrap casts before checking vars in eager unifier
    
    Previously, checking whether (tv |> co) ~ (tv |> co) got deferred,
    because we looked for vars before stripping casts. (The left type
    would get stripped, and then tv ~ (tv |> co) would scare the occurs-
    checker.)
    
    This opportunity for improvement presented itself in other work.
    This is just an optimization. Some programs can now report more
    errors simultaneously.


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

042df603cbb5a77ec13ccfec2ce7bad2bb940aae
 compiler/typecheck/TcUnify.hs                      | 19 ++++---
 .../tests/partial-sigs/should_fail/T12634.stderr   | 14 +++++
 .../tests/partial-sigs/should_fail/T14040a.stderr  | 37 --------------
 .../tests/partial-sigs/should_fail/T14584.stderr   | 46 ++++++++++++++---
 testsuite/tests/polykinds/T12593.stderr            | 59 +++++++++++++++++++---
 testsuite/tests/polykinds/T14846.stderr            | 25 +++++----
 .../tests/typecheck/should_compile/T2494.stderr    |  6 +--
 .../tests/typecheck/should_fail/VtaFail.stderr     | 22 ++++++++
 8 files changed, 157 insertions(+), 71 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 042df603cbb5a77ec13ccfec2ce7bad2bb940aae


More information about the ghc-commits mailing list