Improve error message when importing an unusable package
If a module cannot be found because it is ignored or from an unusable package, report this to the user and the reason it is unusable. Currently, GHC displays the standard "Cannot find module error". For example: ``` <no location info>: error: Could not find module ‘Control.Monad.Random’ Perhaps you meant Control.Monad.Reader (from mtl-2.2.2) Control.Monad.Cont (from mtl-2.2.2) Control.Monad.Error (from mtl-2.2.2) ``` GHC does, however, indicate unusable/ignored packages with the -v flag: ``` package MonadRandom-0.5.1-1421RgpXdhC8e8UI7D3emA is unusable due to missing dependencies: fail-4.9.0.0-BAHmj60kS5K7NVhhKpm9J5 ``` With this change, I took that message and added it to the output of the "Cannot find module" message. Reviewers: bgamari, dfeuer Reviewed By: bgamari Subscribers: Phyx, dfeuer, rwbarton, thomie, carter GHC Trac Issues: #4806 Differential Revision: https://phabricator.haskell.org/D4783
Showing
- compiler/main/Finder.hs 49 additions, 12 deletionscompiler/main/Finder.hs
- compiler/main/HscTypes.hs 3 additions, 0 deletionscompiler/main/HscTypes.hs
- compiler/main/Packages.hs 76 additions, 20 deletionscompiler/main/Packages.hs
- testsuite/tests/ghci/should_fail/T15055.stderr 2 additions, 2 deletionstestsuite/tests/ghci/should_fail/T15055.stderr
- testsuite/tests/package/T4806.hs 1 addition, 0 deletionstestsuite/tests/package/T4806.hs
- testsuite/tests/package/T4806.stderr 6 additions, 0 deletionstestsuite/tests/package/T4806.stderr
- testsuite/tests/package/T4806a.hs 1 addition, 0 deletionstestsuite/tests/package/T4806a.hs
- testsuite/tests/package/T4806a.stderr 7 additions, 0 deletionstestsuite/tests/package/T4806a.stderr
- testsuite/tests/package/all.T 3 additions, 0 deletionstestsuite/tests/package/all.T
- testsuite/tests/package/package01e.stderr 2 additions, 2 deletionstestsuite/tests/package/package01e.stderr
- testsuite/tests/package/package06e.stderr 4 additions, 4 deletionstestsuite/tests/package/package06e.stderr
- testsuite/tests/package/package07e.stderr 3 additions, 3 deletionstestsuite/tests/package/package07e.stderr
- testsuite/tests/package/package08e.stderr 3 additions, 3 deletionstestsuite/tests/package/package08e.stderr
- testsuite/tests/plugins/T11244.stderr 1 addition, 1 deletiontestsuite/tests/plugins/T11244.stderr
Loading
Please register or sign in to comment