[GHC] #12067: warn-unused-imports does not detect coersions

Simon Peyton Jones simonpj at microsoft.com
Thu Aug 25 15:10:12 UTC 2016


ben is this a merge onto the 8.0 branch?  On the ticket it just looks like a duplicate merge, which is jolly odd.  This didn't use to happen...

S

|  -----Original Message-----
|  From: GHC [mailto:ghc-devs at haskell.org]
|  Sent: 25 August 2016 16:04
|  Cc: ghc-tickets at haskell.org
|  Subject: Re: [GHC] #12067: warn-unused-imports does not detect
|  coersions
|  
|  #12067: warn-unused-imports does not detect coersions
|  -------------------------------------+--------------------------------
|  --
|  -------------------------------------+---
|          Reporter:  crockeea          |                Owner:
|              Type:  bug               |               Status:  merge
|          Priority:  normal            |            Milestone:  8.0.2
|         Component:  Compiler          |              Version:  7.10.3
|        Resolution:                    |             Keywords:
|  Operating System:  Unknown/Multiple  |         Architecture:
|                                       |  Unknown/Multiple
|   Type of failure:  Incorrect         |            Test Case:
|    warning at compile-time            |
|  typecheck/should_compile/T12067
|        Blocked By:                    |             Blocking:
|   Related Tickets:  #10347            |  Differential Rev(s):
|         Wiki Page:                    |
|  -------------------------------------+--------------------------------
|  --
|  -------------------------------------+---
|  
|  Comment (by Ben Gamari <ben@…>):
|  
|   In [changeset:"6c28f24aa8202f79db49b85b815011703d647fd9/ghc"
|  6c28f24/ghc]:
|   {{{
|   #!CommitTicketReference repository="ghc"
|   revision="6c28f24aa8202f79db49b85b815011703d647fd9"
|   Deal correctly with unused imports for 'coerce'
|  
|   We only do newtype unwrapping for Coercible constraints if  the
|  newtype's data constructor is in scope.  We were trying to  record the
|  fact that the data constructor was thereby 'used', so  that an import
|  statement would not be flagged as unnecsssary  (by -Wunused-imports).
|  
|   But the code was simply wrong. It was wrong because it assumed  that
|  only one level of unwrapping happened, whereas
|  tcTopNormaliseNewTypeTF_maybe actually unwraps multiple layers.
|   So we need to return a /list/ of data constructors that are used.
|  
|   This entailed a bit of refactoring, as usual.
|  
|   Fixes Trac #12067
|  
|   (cherry picked from commit 23b80ac41cc945cea0fc6ff9ade6b4be8aa81b7f)
|   }}}
|  
|  --
|  Ticket URL:
|  <https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fghc.h
|  askell.org%2ftrac%2fghc%2fticket%2f12067%23comment%3a5&data=01%7c01%7c
|  simonpj%40microsoft.com%7c68b37c7d124e4b0a744d08d3ccf915f0%7c72f988bf8
|  6f141af91ab2d7cd011db47%7c1&sdata=vyQiwFoTB3ZXhI9%2fSxBlj8kE5cjEYw7gSR
|  7jG575YvI%3d>
|  GHC
|  <https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fwww.h
|  askell.org%2fghc%2f&data=01%7c01%7csimonpj%40microsoft.com%7c68b37c7d1
|  24e4b0a744d08d3ccf915f0%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=2
|  kFm1kxgSfvvlh%2f%2f3h53C4IPcBdY%2fo5k9wzmyXTO%2fjY%3d>
|  The Glasgow Haskell Compiler


More information about the ghc-devs mailing list