[GHC] #15393: Regression: Detection of unused imports is imprecise (since GHC 8.0.1)
GHC
ghc-devs at haskell.org
Mon Jul 16 05:59:19 UTC 2018
#15393: Regression: Detection of unused imports is imprecise (since GHC 8.0.1)
-------------------------------------+-------------------------------------
Reporter: SimonHengel | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Compiler | Version: 8.4.1
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:
-------------------------------------+-------------------------------------
GHCs detection of unused imports used to be very precise. But apparently
this changed with GHC 8.0.1. I already noticed for a while that there is
something fishy going on and finally came up with a minimal example.
== Steps to reproduce:
{{{#!hs
-- Bar.hs
module Bar (bar, module Control.Monad) where
import Control.Monad
bar :: Integer
bar = 23
}}}
{{{#!hs
-- Foo.hs
module Foo where
import Bar
import Control.Monad (forM_)
foo :: Monad m => [a] -> (a -> m ()) -> m ()
foo = forM_
baz :: Integer
baz = bar
}}}
{{{
$ ghci -Wall -Werror Foo.hs
}}}
**Expected result:** The program is reject.
**Actual result:** The program was reject by GHC < 8.0.1, however later
versions of GHC accept the program.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15393>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list