logo       

RE: ghc-6.2.1 incorrectly reporting duplicate instance declarations: msg#00003

lang.haskell.glasgow.bugs

Subject: RE: ghc-6.2.1 incorrectly reporting duplicate instance declarations

| 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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise