#4397: RULES for Class ops don't fire in HEAD
----------------------------------+-----------------------------------------
    Reporter:  daniel.is.fischer  |       Owner:                         
        Type:  bug                |      Status:  new                    
    Priority:  normal             |   Component:  Compiler               
     Version:  7.1                |    Keywords:  RULES, classes         
    Testcase:                     |   Blockedby:                         
          Os:  Unknown/Multiple   |    Blocking:                         
Architecture:  Unknown/Multiple   |     Failure:  Runtime performance bug
----------------------------------+-----------------------------------------
 For the attached programme, compiled with 7.1.20101010, the rule
 truncate/Double->Int doesn't fire, resulting in
 {{{
 -248407781
 1
 const 0    took   0.004000s
 -248407781
 truncate   took   0.940059s
 -248407781
 double2Int took   0.032002s
 }}}
 i.e. truncate is not rewritten to double2Int, although it is given an
 explicit type signature (same behaviour without a type signature).

 -ddump-rule-firings lists
 {{{
 Rule fired: Class op truncate
 }}}
 among (if I haven't miscounted) 41 Class op xxx rules.

 That behaviour keeps the fix for #2271 from working and is a severe
 regression for #1434 .

 IMO it's a show-stopper.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4397>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to