Core Prep sometimes generates case of type lambda
Found something odd when updating the test case for T13156: Core Prep will turn
let f = \@a -> case ...
in case f @ Any of ...
into
case (\@a -> case ...) of f { __DEFAULT ->
case f @ Any of ...
because f
is demanded and not an HNF. Seems like this is turning a lazy binding into a strict one since that \@a is about to be erased, but I haven't investigated.
(Assigning to myself to put together a proper test case at least.)
Trac metadata
Trac field | Value |
---|---|
Version | 8.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |