
#9544: No error message in explicit import containing unused and undefined constructor (Regression) -------------------------------------+------------------------------------- Reporter: bergmark | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Unknown | Type of failure: GHC Blocked By: | accepts invalid program Related Tickets: | Test Case: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Helper file: {{{#!hs module A where data X = Foo }}} Reproduction: {{{#!hs module B where import A (X (X)) f :: X f = undefined }}} Result (GHC 7.8.3): {{{ $ ghc -Wall B.hs [1 of 2] Compiling A ( A.hs, nothing ) [2 of 2] Compiling B ( B.hs, nothing ) $ }}} Result (GHC 7.6.3): {{{ $ ghc -Wall B.hs [1 of 2] Compiling A ( A.hs, nothing ) [2 of 2] Compiling B ( B.hs, nothing ) B.hs:3:11: Module `A' does not export `X(X)' $ }}} I tested other combinations and this regression seems to only occur when using an explicit import list and specifying an undefined constructor with the same name as the type. If you try to use the undefined constructor you will get an error at the use site instead of the import site. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9544 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler