Skip to content

compile warning appears to be treated as error

In regex-base-0.92 it has a module re-export:

module Text.Regex.Base (
   ...
  ,module Text.Regex.Base.Context
  ) where

that module exports nothing except instances:

module Text.Regex.Base.Context() where

On compiling this we Cabal which uses ghc-6.8.1 --make ghc reports:

[1 of 4] Compiling Text.Regex.Base.RegexLike ( Text/Regex/Base/RegexLike.hs, dist/build/Text/Regex/Base/RegexLike.o )
[2 of 4] Compiling Text.Regex.Base.Context ( Text/Regex/Base/Context.hs, dist/build/Text/Regex/Base/Context.o )
Warning: orphan instances:
  instance Text.Regex.Base.RegexLike.RegexContext [., .,
-- snip lots of orphan instances
                                                   
[3 of 4] Compiling Text.Regex.Base  ( Text/Regex/Base.hs, dist/build/Text/Regex/Base.o )

Text/Regex/Base.hs:48:3:
    Warning: The export item `module Text.Regex.Base.Context' exports nothing

and that's it. It returns a failure exit code at this point. It does not continue on to compile the 4th module.

Apparently compiling each module individually works. And ghc-6.6.1 --make works.

To reproduce, use ghc-6.8.1 with the bundled Cabal and grab regex-base-0.92 from hackage http://hackage.haskell.org/packages/archive/regex-base/0.92/regex-base-0.92.tar.gz

You need to add the three missing package deps to the .cabal file, containers, array and bytestring.

Trac metadata
Trac field Value
Version 6.8.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information