Arity is smaller than need be
Consider
h x = let f = case x of { True -> t1; False -> t2 }
in (f,f)
where t1 and t2 have arity 1. You'd think that f should have arity 1, but it doesn't. (Reason: exprArity, used in Simplify.addNonRecWithUnf, doesn't look through the case.)
Fix this as part of the upcoming arity cleanup.
Simon
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.10.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |