ghc-6.2.1 incorrectly reporting duplicate instance declarations
Simon Peyton-Jones
simonpj at microsoft.com
Thu Apr 8 09:33:19 EDT 2004
| When I have a collection of files to compile and
| (1) I use --make to compile them together;
| (2) they are recursive
| it works the first time, but when I try to compile them the
| second time I get messages about bogus duplicate instance
| declarations, for example:
|
| Skipping GlobalRegistry ( GlobalRegistry.hs, GlobalRegistry.o )
|
| Duplicate instance declarations:
| In module CodedValue: Control.Monad.Trans.MonadIO
CodedValue.CodingMonad
| In module CodedValue: Control.Monad.Trans.MonadIO
CodedValue.CodingMonad
OK I can reproduce it and know what is going on.
It's a bug in 6.2.1 whereby it can import a compiled interface from
"higher up" in the tree.
This is really wrong. (Introduced as a result of fix to a different
bug. Sigh. It's a rather dark corner, which I cleaned up in the HEAD, I
believe, though that probably isn't much use to you.)
The only real workaround is to make clean; or just remove the .hi files
that have .hi-boot friends. Or not use --make.
Simon
More information about the Glasgow-haskell-bugs
mailing list