
#9288: Type class overlapping instances check doesn't understand type equality ------------------------------------------------+-------------------------- Reporter: ezyang | Owner: Type: bug | Status: new Priority: low | Milestone: Component: Compiler (Type checker) | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC accepts invalid program | Unknown/Multiple Test Case: | Difficulty: Blocking: | Unknown | Blocked By: | Related Tickets: ------------------------------------------------+-------------------------- Comment (by aavogt): A simpler example where ghc-7.8.2 doesn't detect overlapping instances until they are used {{{ {-# LANGUAGE FlexibleInstances #-} class C a where c :: a instance C a where c = undefined instance C Int where c = 2 -- ghc doesn't complain about overlapping instances -- unless you uncomment c1 -- c1 = c :: Int c2 = c :: Double }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9288#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler