Duplicate Exports [GHC-47854]
Flag: -Wduplicate-exports
Enabled by default
An export list of a module mentions the same identifier twice.
Examples
Duplicate export
The module Example
mentions the symbol answer
twice in its export list.
To avoid the warning, simply remove the duplicated mention.
Error Message
Main.hs:3:25: warning: [-Wduplicate-exports] [GHC-47854]
‘answer’ is exported by ‘answer’ and ‘answer’
|
3 | module Example (answer, answer) where
| ^^^^^^
Main.hs
Before
module Example (answer, answer) where
answer :: Int
answer = 42
After
module Example (answer) where
answer :: Int
answer = 42
Duplicate field export
The module Example
exports the symbol answer
twice.
In addition to the explicit entry in the export list it’s also exported by Example(..)
.
To avoid the warning, remove one of the duplicated mentions.
Error Message
Main.hs:1:25: warning: [-Wduplicate-exports] [GHC-47854]
‘answer’ is exported by ‘Example(..)’ and ‘answer’
|
1 | module Example (answer, Example(..)) where
| ^^^^^^
Main.hs
Before
module Example (answer, Example(..)) where
data Example = Example { answer :: Int }
After
module Example (Example) where
data Example = Example { answer :: Int }