Duplicate warning declarations [GHC-00711]
A Haskell entity, such as a type or a top-level definition, can be declared to be deprecated using a pragma. It is, however, illegal to specify multiple deprecation warnings for the same entity.
Examples
Two deprecation warnings for same constant
In this example, two deprecation warnings have been given for the constant pi. This is not allowed, and can be fixed by just specifying one deprecation message.
messages/GHC-00711/doubleDeprecation/before/DoubleDeprecation.hs:4:16: error: [GHC-00711]
Multiple warning declarations for ‘pi’
also at messages/GHC-00711/doubleDeprecation/before/DoubleDeprecation.hs:3:16-17
|
4 | {-# DEPRECATED pi "Chosen approximation turned out to be too imprecise." #-}
| ^^
DoubleDeprecation.hs
Before
module DoubleDeprecation where
{-# DEPRECATED pi "pi is deprecated." #-}
{-# DEPRECATED pi "Chosen approximation turned out to be too imprecise." #-}
pi :: Int
pi = 3
After
module DoubleDeprecation where
{-# DEPRECATED pi "pi is deprecated. Chosen approximation turned out to be too imprecise." #-}
pi :: Int
pi = 3