Fix for Trac #15611: Scope errors lie about what modules are imported.

Authored by RolandSenn on Nov 4 2018, 9:45 AM.

Description

Fix for Trac Trac #15611: Scope errors lie about what modules are imported.

Summary:
For the error message:

Not in scope X.Y
Module X does not export Y
No module named ‘X’ is imported:

there are 2 cases, where we don't show the last "no module named is imported" line:

  1. If the module X has been imported.
  2. If the module X is the current module. There are 2 subcases:

    2.1 If the unknown module name is in a input source file, then we can use the getModule function to get the current module name.

    2.2 If the unknown module name has been entered by the user in GHCi, then the getModule function returns something like "interactive:Ghci1", and we have to check the current module in the last added entry of the HomePackageTable.

Test Plan: make test TESTS="T15611a T15611b"

Reviewers: monoidal, hvr, thomie, dfeuer, bgamari, DavidEichmann

Reviewed By: monoidal, DavidEichmann

Subscribers: rwbarton, carter

GHC Trac Issues: Trac #15611

Differential Revision: https://phabricator.haskell.org/D5284

Details

Committed
monoidalNov 4 2018, 9:45 AM
Reviewer
monoidal
Differential Revision
D5284: Fix for Trac #15611: Scope errors lie about what modules are imported.
Parents
rGHC2c959a189431: Add Int8# and Word8#
Branches
Unknown
Tags
Unknown