[GHC] #15878: Unused data type with a "deriving" clause is falsely considered used
GHC
ghc-devs at haskell.org
Thu Nov 8 14:00:04 UTC 2018
#15878: Unused data type with a "deriving" clause is falsely considered used
-------------------------------------+-------------------------------------
Reporter: EyalLotem | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.3
Component: Compiler | Version: 8.6.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Incorrect
Unknown/Multiple | error/warning at compile-time
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
module M () where data Foo = Bar deriving (Eq)
If there are no explicit references to Foo and none to Bar, the data-type
is necessarily unused, so I expect a warning about an unused data-type.
Even if it is referenced, but only from instance declarations, it is
necessarily unused in the program.
One potential exception is functional dependencies, where the instance
declaration itself has an effect. But even then, perhaps it is worth
warning that the *type* is unused.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15878>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list