Ticket #2356 (new bug)
GHC accepts multiple instances for the same type in different modules
| Reported by: | claus | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | _|_ |
| Component: | Compiler | Version: | 6.8.3 |
| Keywords: | Cc: | lennart@…, chak@…, mjm2002@…, leather@… | |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | None/Unknown | Difficulty: | Unknown |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: | #5316 |
Description
as mentioned by Simon PJ in this thread:
http://www.haskell.org/pipermail/haskell/2008-June/020436.html
here is the example, spelled out:
module B0 where class C a where c :: a -> String data T = T deriving Show module B1 where import B0 instance C T where c _ = "B1" b = c T module B2 where import B0 instance C T where c _ = "B2" b = c T module Main where import B1 import B2 main = print (B1.b,B2.b)
this is accepted without flags or errors and prints ("B1","B2").
the language report, section 4.3.2 clearly states:
A type may not be declared as an instance of a particular class more than once in the program.
Change History
Note: See
TracTickets for help on using
tickets.
