RULES for Class ops don't fire in HEAD
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 (closed) from working and is a severe regression for #1434 (closed) .
IMO it's a show-stopper.
Trac metadata
Trac field | Value |
---|---|
Version | 7.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |