summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T16254.hs
blob: 3c1490c17c15f84106c10885a856c8dce4fd3bad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- variant of T5327, where we force the newtype to have a wrapper
{-# LANGUAGE GADTs, ExplicitForAll #-}
module T16254 where

newtype Size a b where
  Size :: forall b a. Int -> Size a b

{-# INLINABLE val2 #-}
val2 = Size 17

-- In the core, we should see a comparison against 34#, i.e. constant
-- folding should have happened. We actually see it twice: Once in f's
-- definition, and once in its unfolding.
f n = case val2 of Size s -> s + s > n