Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Return boxed type in unpack{Float,Double}#
In the primitives unpackFloat# and unpackDouble#, the result from the primitive evaluator was an unboxed literal (i.e. Float#) when the actual result of the function is a boxed literal (i.e. Float). This led to #2097 having core that looked like ``` case 1.0# of F# x -> ... ``` which will rightly never match. When the primitives instead return the correct type we get a case expression ``` case F# 1.0# of F# x -> ... ``` where the caseCon transformation can fire.
- Loading branch information