[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