#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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs