Unused import warning on re-export
Iavor Diatchki
iavor.diatchki at gmail.com
Fri May 12 17:39:55 UTC 2017
Hello,
actually, the bug here is that `f` is exported, as omitting the export list
is not equivalent to writing `module A` in the export list.
This is explicitly stated in Section 5.2 of the Haskell report:
"If the export list is omitted, all values, types and classes defined in
the module are exported, but not those that are imported."
-Iavor
On Thu, May 11, 2017 at 1:23 PM, Simon Peyton Jones via
Glasgow-haskell-users <glasgow-haskell-users at haskell.org> wrote:
> | Is there a reason GHC considers this case an unused import? It seems that
> | the use of the import is explicitly stated right within the import
> | itself. Should I submit a ticket for this?
>
> Hmm. I think you are saying that
>
> module A where
> import B as A(f)
> g = True
>
> that is equivalent to
> module A( module A ) where ...
>
> which exports all things "x" in scope as "A.x". So it'll export both f
> and g.
>
> But GHC will report f as unused, but not g. And that's inconsistent. Fair
> point. Yes, file a ticket. Better still, offer a patch :-).
>
> Simon
>
> | -----Original Message-----
> | From: Glasgow-haskell-users [mailto:glasgow-haskell-users-
> | bounces at haskell.org] On Behalf Of Yitzchak Gale
> | Sent: 10 May 2017 13:56
> | To: GHC users <glasgow-haskell-users at haskell.org>
> | Subject: Unused import warning on re-export
> |
> | I have a module A with no export list, and a function f which from the
> | API point of view should part of the export list of A. But f must be
> | defined in module B, not module A, due an import cycle. I added this line
> | in module A to re-export f from A:
> |
> | import B as A (f)
> |
> | This resulted in an unused import warning. That is a problem for us - we
> | keep our large code base clean of warnings as a policy.
> |
> | Is there a reason GHC considers this case an unused import? It seems that
> | the use of the import is explicitly stated right within the import
> | itself. Should I submit a ticket for this?
> |
> | Thanks,
> | Yitz
> | _______________________________________________
> | Glasgow-haskell-users mailing list
> | Glasgow-haskell-users at haskell.org
> | https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fmail.hask
> | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fglasgow-haskell-
> | users&data=02%7C01%7Csimonpj%40microsoft.com%
> 7C81b06c9737d540a597df08d497
> | a413d0%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%
> 7C636300178355700119&sd
> | ata=xHt1FXEF5r4WMaMF3FSW4jFBRlB4OK8DQdcNAxZ7HOc%3D&reserved=0
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/glasgow-haskell-users/attachments/20170512/7bf4f2e7/attachment.html>
More information about the Glasgow-haskell-users
mailing list