
People, I wrote recently about finding places to set {-# OVERLAPPING #-} when porting an application from 7.8.2 to 7.10.1. I am doing this for porting docon-2.12 from 7.8.2 to 7.10.1. And ghc-7.10.1 indeed helped me to find several places to set this pragma (instead of using the total key -XOverlappingInstances). Finally, it has come to this module: --------------------------------------------- Preprocessing library docon-2.12.1... [48 of 86] Compiling ResRing__ ( ResRing__.hs, dist/build/ResRing__.o ) ResRing__.hs:183:31: Overlapping instances for Eq (Maybe PropValue) arising from a use of ‘/=’ Matching instances: instance Eq a => Eq (Maybe a) -- Defined in ‘GHC.Base’ instance (Residue r, Eq a) => Eq (r a) -- Defined in ‘ResEuc0_’ In the expression: lookup IsGxBasis ps /= Just Yes ... ---------------------------------------------- As before, I set instance {-# OVERLAPPING #-} (Residue r, Eq a) => Eq (r a) where ... in ResEuc0_.hs. But this does not help, the compiler continues with the same report. I see the difference to previous porting process in that one of the overlapping instances is of the GHC library, so that I cannot set the needed overlap pragma for it. On the other hand, ghc-7.8.2 compiled docon-2.12 successfully. What my be a way out? Thanks, ------ Sergei