Poor error message when trying to import non-existent class methods
$ cat A.hs
module A where
class C a where
foo :: a -> Int
bar :: a -> Int
$ cat B.hs
module B where
import A (C (foo, bar, baz))
instance C Int where
foo = id
bar = id
$ ghci B.hs
GHCi, version 8.4.2: http://www.haskell.org/ghc/ :? for help
[1 of 2] Compiling A ( A.hs, interpreted )
[2 of 2] Compiling B ( B.hs, interpreted )
B.hs:3:11: error: Module ‘A’ does not export ‘C(foo, bar, baz)’
|
3 | import A (C (foo, bar, baz))
| ^^^^^^^^^^^^^^^^^
Failed, one module loaded.
If you're importing a dozen or so methods, not mentioning the specific method that couldn't be imported gets quite annoying.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |