I'm not sure whether it is this patch, but regex-base is now broken.
From the fragment of your exchange with Serge, I understand that
overlap handling has changed in some way?

Browsing through the code indicated in the first error message, it
seems as if the implementation of method 'match' calls 'matchM'
with exactly the same 'regex', 'source', and 'target' types, so if those
types are sufficient to select that instance for 'match', why would
there be an unresolved overlap when 'match' calls 'matchM'?

Claus (who is still convinced that extralibs provide a good test for ghc;-)


-- last lines of make for ghc head on windows

c:/fptools/ghc/ghc/stage1-inplace/ghc.exe -package-name regex-base-0.72.0.1 -hide-all-packages -no-user-package-conf -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package array-0.1 -package base-3.0.3.0 -package bytestring-0.9 -O -Wall -O2 -XMultiParamTypeClasses -XFunctionalDependencies -XCPP -idist/build -H32m -O2 -Wall -fno-warn-deprecated-flags -c Text/Regex/Base/Context.hs -o dist/build/Text/Regex/Base/Context.o -ohi dist/build/Text/Regex/Base/Context.hi

Text\Regex\Base\Context.hs:200:34:
   Overlapping instances for RegexContext a b (Array Int b)
     arising from a use of `matchM'
                  at Text\Regex\Base\Context.hs:200:34-43
   Matching instances:
     instance (RegexLike a b) => RegexContext a b (Array Int b)
       -- Defined at Text\Regex\Base\Context.hs:199:9-57
     instance (RegexLike a b) => RegexContext a b MatchArray
       -- Defined at Text\Regex\Base\Context.hs:190:9-54
   (The choice depends on the instantiation of `a, b'
    To pick the first instance above, use -XIncoherentInstances
    when compiling the other instance declarations)
   In the third argument of `maybe', namely `(matchM r s)'
   In the expression: maybe nullArray id (matchM r s)
   In the definition of `match':
       match r s = maybe nullArray id (matchM r s)

Text\Regex\Base\Context.hs:230:11:
   Overlapping instances for RegexContext a b [MatchArray]
     arising from a use of `nullFail'
                  at Text\Regex\Base\Context.hs:230:11-18
   Matching instances:
     instance (RegexLike a b) => RegexContext a b [MatchArray]
       -- Defined at Text\Regex\Base\Context.hs:228:9-56
     instance (RegexLike a b) => RegexContext a b [Array Int b]
       -- Defined at Text\Regex\Base\Context.hs:248:9-57
     instance (RegexLike a b) => RegexContext a b [b]
       -- Defined at Text\Regex\Base\Context.hs:244:9-47
   (The choice depends on the instantiation of `a, b'
    To pick the first instance above, use -XIncoherentInstances
    when compiling the other instance declarations)
   In the expression: nullFail
   In the definition of `matchM': matchM = nullFail
   In the instance declaration for `RegexContext a b [MatchArray]'

Text\Regex\Base\Context.hs:241:11:
   Overlapping instances for RegexContext
                               a b [(MatchOffset, MatchLength)]
     arising from a use of `nullFail'
                  at Text\Regex\Base\Context.hs:241:11-18
   Matching instances:
     instance (RegexLike a b) =>
              RegexContext a b [(MatchOffset, MatchLength)]
       -- Defined at Text\Regex\Base\Context.hs:239:9-71
     instance (RegexLike a b) => RegexContext a b [b]
       -- Defined at Text\Regex\Base\Context.hs:244:9-47
   (The choice depends on the instantiation of `a, b'
    To pick the first instance above, use -XIncoherentInstances
    when compiling the other instance declarations)
   In the expression: nullFail
   In the definition of `matchM': matchM = nullFail
   In the instance declaration for `RegexContext
                                      a b [(MatchOffset, MatchLength)]'

Text\Regex\Base\Context.hs:246:11:
   Overlapping instances for RegexContext a b [b]
     arising from a use of `nullFail'
                  at Text\Regex\Base\Context.hs:246:11-18
   Matching instances:
     instance (RegexLike a b) => RegexContext a b [b]
       -- Defined at Text\Regex\Base\Context.hs:244:9-47
     instance (RegexLike a b) =>
              RegexContext a b [(MatchOffset, MatchLength)]
       -- Defined at Text\Regex\Base\Context.hs:239:9-71
     instance (RegexLike a b) => RegexContext a b [MatchArray]
       -- Defined at Text\Regex\Base\Context.hs:228:9-56
   (The choice depends on the instantiation of `a, b'
    To pick the first instance above, use -XIncoherentInstances
    when compiling the other instance declarations)
   In the expression: nullFail
   In the definition of `matchM': matchM = nullFail
   In the instance declaration for `RegexContext a b [b]'

Text\Regex\Base\Context.hs:250:11:
   Overlapping instances for RegexContext a b [Array Int b]
     arising from a use of `nullFail'
                  at Text\Regex\Base\Context.hs:250:11-18
   Matching instances:
     instance (RegexLike a b) => RegexContext a b [Array Int b]
       -- Defined at Text\Regex\Base\Context.hs:248:9-57
     instance (RegexLike a b) => RegexContext a b [MatchArray]
       -- Defined at Text\Regex\Base\Context.hs:228:9-56
   (The choice depends on the instantiation of `a, b'
    To pick the first instance above, use -XIncoherentInstances
    when compiling the other instance declarations)
   In the expression: nullFail
   In the definition of `matchM': matchM = nullFail
   In the instance declaration for `RegexContext a b [Array Int b]'

make[2]: *** [dist/build/Text/Regex/Base/Context.o] Error 1
make[2]: Leaving directory `/cygdrive/c/fptools/ghc/libraries/regex-base'
make[1]: *** [make.library.regex-base] Error 2
make[1]: Leaving directory `/cygdrive/c/fptools/ghc/libraries'
make: *** [stage1] Error 2

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to