Skip to content

Simple function not inlined within declaration marked NOINLINE

This seems so shallow that I feel like I must be missing something, but if I implement a function like

eq :: Bool -> Bool -> Bool
eq x y = x == y
{-# NOINLINE eq #-}

the boolean equality operator is not inlined in eq, even at -O2. The generated core is instead

eq = $fEqBool_$c==
Trac metadata
Trac field Value
Version 8.0.2
Type Bug
TypeOfFailure OtherFailure
Priority lowest
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