
#13839: GHC warnings do not respect the default module header -------------------------------------+------------------------------------- Reporter: Feuerbach | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by Feuerbach): * status: infoneeded => new Old description:
If I compile this program with `-Wall`, I get no warnings:
{{{#!hs type T = Int
main :: IO () main = return () }}}
If I add a module header:
{{{#!hs module Main(main) where
type T = Int
main :: IO () main = return () }}}
I now get a warning:
{{{ ghcbug2.hs:3:1: warning: [-Wunused-top-binds] Defined but not used: type constructor or class ‘T’ }}}
Yet, according to Haskell2010 (section 5.1):
An abbreviated form of module, consisting only of the module body, is permitted. If this is used, the header is assumed to be ‘module Main(main) where’.
Therefore, the right behaviour should be to print a warning in the first case as well.
An abbreviated form of module, consisting only of the module body, is
New description: If I load this program in ghci with `-Wall`, I get no warnings: {{{#!hs type T = Int main :: IO () main = return () }}} If I add a module header: {{{#!hs module Main(main) where type T = Int main :: IO () main = return () }}} I now get a warning: {{{ ghcbug2.hs:3:1: warning: [-Wunused-top-binds] Defined but not used: type constructor or class ‘T’ }}} Yet, according to Haskell2010 (section 5.1): permitted. If this is used, the header is assumed to be ‘module Main(main) where’. Therefore, the right behaviour should be to print a warning in the first case as well. If I compile the program instead of loading it in ghci, I correctly get the warning in both cases. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13839#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler