module T21888a where -- This tests case (B) of -- Note [No lazy, Unboxed demands in demand signature] -- in GHC.Core.Opt.DmdAnal -- We should get a worker-wrapper split on g -- and on wombat, even though f uses x unboxed {-# NOINLINE f #-} f x = Just x wombat :: Int -> a wombat x = error (show (f x)) g :: Bool -> Int -> Int g True x | x>0 = g True (x-1) | otherwise = x+1 g False x = wombat x