summaryrefslogtreecommitdiff
path: root/testsuite/tests/deSugar/should_compile/T19969.hs
blob: ad9546c84a6d1bffe1423f3493bd6f1389ac0a60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{-# OPTIONS_GHC -dno-typeable-binds -O2 -fno-worker-wrapper #-}

module T19969 where

-- Three mutually recursive functions
-- We want to inline g, h, keeping f as the loop breaker

f x = reverse (g (x:: [Int])) :: [Int]

{-# INLINE g #-}

g x = reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (h x))))))))))))

{-# INLINE h #-}
h x = reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (reverse (f x))))))))))))