[GHC] #10071: Implement deprecation-warnings for class-methods to non-method transitions

GHC ghc-devs at haskell.org
Thu May 14 05:03:07 UTC 2015


#10071: Implement deprecation-warnings for class-methods to non-method transitions
-------------------------------------+-------------------------------------
        Reporter:  hvr               |                   Owner:
            Type:  feature request   |                  Status:  new
        Priority:  normal            |               Milestone:  7.12.1
       Component:  Compiler          |                 Version:  7.8.4
      Resolution:                    |                Keywords:  AMP
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:  #8004, #4384      |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by oerjan):

 * cc: oerjan (added)


Comment:

 Just found this via a libraries archive discussion.  I think there are
 subtle cases here, if a `..` wildcard is used (possibly a fishy thing in
 itself).  With the `return` example, this is fine:

 {{{
 import Control.Monad (Monad(..), return)
 }}}

 This is fine ''provided'' `return` is not used or re-exported, including
 implicitly:

 {{{
 import Control.Monad (Monad(..))
 }}}

 This is fine if the corresponding import is fine:
 {{{
 module Test (Monad(..), return) where
 }}}

 This is definitely wrong:
 {{{
 module Test (Monad(..)) where
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10071#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list