Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information