Commit 721e8264 authored by Chaitanya Koparkar's avatar Chaitanya Koparkar Committed by Ben Gamari
Browse files

GHCi: Improve the error message for hidden packages

Test Plan: make test TEST=T15055

Reviewers: bgamari, RyanGlScott, osa1, Iceland_jack

Reviewed By: osa1

Subscribers: ulysses4ever, thomie, carter

GHC Trac Issues: #15055

Differential Revision: https://phabricator.haskell.org/D4621
parent 866525a1
......@@ -667,14 +667,18 @@ cantFindErr cannot_find _ dflags mod_name find_result
<+> quotes (ppr pkgid)
--FIXME: we don't really want to show the unit id here we should
-- show the source package id or installed package id if it's ambiguous
<> dot $$ cabal_pkg_hidden_hint pkgid
cabal_pkg_hidden_hint pkgid
<> dot $$ pkg_hidden_hint pkgid
pkg_hidden_hint pkgid
| gopt Opt_BuildingCabalPackage dflags
= let pkg = expectJust "pkg_hidden" (lookupPackage dflags pkgid)
in text "Perhaps you need to add" <+>
quotes (ppr (packageName pkg)) <+>
text "to the build-depends in your .cabal file."
| otherwise = Outputable.empty
| otherwise
= let pkg = expectJust "pkg_hidden" (lookupPackage dflags pkgid)
in text "You can run" <+>
quotes (text ":set -package " <> ppr (packageName pkg)) <+>
text "to expose it."
mod_hidden pkg =
text "it is a hidden module in the package" <+> quotes (ppr pkg)
......
<no location info>:
Could not find module ‘GHC’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
test('T10549', [], ghci_script, ['T10549.script'])
test('T10549a', [], ghci_script, ['T10549a.script'])
test('T14608', [], ghci_script, ['T14608.script'])
test('T15055', [], ghci_script, ['T15055.script'])
......@@ -2,9 +2,11 @@
package01e.hs:2:1: error:
Could not find module ‘Data.Map’
It is a member of the hidden package ‘containers-0.5.11.0’.
You can run ‘:set -package containers’ to expose it.
Use -v to see a list of the files searched for.
package01e.hs:3:1: error:
Could not find module ‘Data.IntMap’
It is a member of the hidden package ‘containers-0.5.11.0’.
You can run ‘:set -package containers’ to expose it.
Use -v to see a list of the files searched for.
......@@ -2,9 +2,11 @@
package06e.hs:2:1: error:
Could not find module ‘HsTypes’
It is a member of the hidden package ‘ghc-8.1’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
package06e.hs:3:1: error:
Could not find module ‘UniqFM’
It is a member of the hidden package ‘ghc-8.1’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
......@@ -7,14 +7,17 @@ package07e.hs:2:1: error:
package07e.hs:3:1: error:
Could not find module ‘HsTypes’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
package07e.hs:4:1: error:
Could not find module ‘HsUtils’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
package07e.hs:5:1: error:
Could not find module ‘UniqFM’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
......@@ -7,14 +7,17 @@ package08e.hs:2:1: error:
package08e.hs:3:1: error:
Could not find module ‘HsTypes’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
package08e.hs:4:1: error:
Could not find module ‘HsUtils’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
package08e.hs:5:1: error:
Could not find module ‘UniqFM’
It is a member of the hidden package ‘ghc-8.5’.
You can run ‘:set -package ghc’ to expose it.
Use -v to see a list of the files searched for.
<command line>: Could not find module ‘RuleDefiningPlugin’
It is a member of the hidden package ‘rule-defining-plugin-0.1’.
You can run ‘:set -package rule-defining-plugin’ to expose it.
Use -v to see a list of the files searched for.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment