Hi I have now reduced this bug to a smallish test case:
test :: T1 -> T1 test = test2 test2 :: C3 (T2 a) a => a -> a test2 = undefined data T1 = C1 deriving Show data T2 a = T2 a deriving Show class C1 a where class C2 a where class C3 a b where instance C1 T1 where instance C1 a => C1 (T2 a) where instance (C1 a, C2 a) => C3 T1 a where instance (C3 a (T2 a)) => C2 (T2 a) where instance (C2 (T2 a)) => C3 (T2 a) b where In Hugs I get (overlapping instances and unsafe overlapping instances turned on): *** The type checker has reached the cutoff limit while trying to *** determine whether: *** C1 T1 *** can be deduced from: *** () The explicit instance for this type makes it surprising that it fails to find an instance. In GHC with -fglasgow-exts -fallow-undecidable-instances, it works fine. Thanks Neil _______________________________________________ Hugs-Users mailing list Hugs-Users@haskell.org http://www.haskell.org/mailman/listinfo/hugs-users