[GHC] #7141: Inlining the single method of a class can shadow rules

GHC cvs-ghc at haskell.org
Mon Aug 13 18:16:36 CEST 2012


#7141: Inlining the single method of a class can shadow rules
---------------------------------+------------------------------------------
    Reporter:  pcapriotti        |       Owner:  simonpj         
        Type:  bug               |      Status:  new             
    Priority:  normal            |   Milestone:  7.8.1           
   Component:  Compiler          |     Version:  7.4.2           
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  Other           
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
 This shows up in `template-haskell`, module `Language.Haskell.TH.Syntax`,
 where the single method of the `Lift` class:

 {{{
 class Lift t where
   lift :: t -> Q Exp
 }}}

 has a `RULE`:

 {{{
 {-# RULES "TH:liftString" lift = \s -> return (LitE (StringL s)) #-}
 }}}

 There is currently no way of preventing `lift` from being inlined.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7141>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the Glasgow-haskell-bugs mailing list