[commit: ghc] master: Fix suggestions for unbound variables (#11680) (470d4d5)

git at git.haskell.org git at git.haskell.org
Sun Apr 10 21:39:55 UTC 2016


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/470d4d5b8e7cbcc176b1f3ac26ce0d95acd35a78/ghc

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

commit 470d4d5b8e7cbcc176b1f3ac26ce0d95acd35a78
Author: Jason Eisenberg <jasoneisenberg at gmail.com>
Date:   Sun Apr 10 19:17:46 2016 +0200

    Fix suggestions for unbound variables (#11680)
    
    When the typechecker generates the error message for an out-of-scope
    variable, it now uses the GlobalRdrEnv with respect to which the
    variable is unbound, not the GlobalRdrEnv which is available at the time
    the error is reported.  Doing so ensures we do not provide suggestions
    which themselves are out-of-scope (because they are bound in a later
    inter-splice group).
    
    Nonetheless, we do note in the error message if an unambiguous, exact
    match to the out-of-scope variable is found in a later inter-splice
    group, and we specify where that match is not in scope.
    
    Test Plan: ./validate
    
    Reviewers: goldfire, austin, bgamari
    
    Reviewed By: goldfire
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2000
    
    GHC Trac Issues: #11680


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

470d4d5b8e7cbcc176b1f3ac26ce0d95acd35a78
 compiler/basicTypes/OccName.hs    |   1 +
 compiler/basicTypes/RdrName.hs    |  10 +-
 compiler/deSugar/DsMeta.hs        |   4 +-
 compiler/hsSyn/HsExpr.hs          | 105 +++++++++++++++++--
 compiler/rename/RnExpr.hs         |   8 +-
 compiler/rename/RnSource.hs       |   2 +-
 compiler/rename/RnTypes.hs        |   6 +-
 compiler/typecheck/TcCanonical.hs |  12 +--
 compiler/typecheck/TcErrors.hs    | 209 +++++++++++++++++++++++++++++++++-----
 compiler/typecheck/TcExpr.hs      |  10 +-
 compiler/typecheck/TcHsSyn.hs     |   3 +-
 compiler/typecheck/TcRnDriver.hs  |   9 +-
 compiler/typecheck/TcRnMonad.hs   |  24 ++++-
 compiler/typecheck/TcRnTypes.hs   |  56 ++++++----
 testsuite/tests/th/T11680.hs      | 122 ++++++++++++++++++++++
 testsuite/tests/th/T11680.stderr  |  49 +++++++++
 testsuite/tests/th/all.T          |   2 +
 17 files changed, 547 insertions(+), 85 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 470d4d5b8e7cbcc176b1f3ac26ce0d95acd35a78


More information about the ghc-commits mailing list