[GHC] #16305: When should -Wmissed-specializations fire?

GHC ghc-devs at haskell.org
Tue Feb 12 12:08:01 UTC 2019


#16305: When should -Wmissed-specializations fire?
-------------------------------------+-------------------------------------
        Reporter:  crockeea          |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.7
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Poor/confusing    |  Unknown/Multiple
  error message                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 For what it's worth, here's the Note in `Specialise.hs`
 {{{
 {- Note [Warning about missed specialisations]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Suppose
  * In module Lib, you carefully mark a function 'foo' INLINABLE
  * Import Lib(foo) into another module M
  * Call 'foo' at some specialised type in M
 Then you jolly well expect it to be specialised in M.  But what if
 'foo' calls another function 'Lib.bar'.  Then you'd like 'bar' to be
 specialised too.  But if 'bar' is not marked INLINABLE it may well
 not be specialised.  The warning Opt_WarnMissedSpecs warns about this.

 It's more noisy to warning about a missed specialisation opportunity
 for /every/ overloaded imported function, but sometimes useful. That
 is what Opt_WarnAllMissedSpecs does.

 ToDo: warn about missed opportunities for local functions.
 }}}

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


More information about the ghc-tickets mailing list