summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/rule2.hs
blob: 97b50b92d97838bbc15d0c7e13b1d95061c24701 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE RankNTypes #-}
{-# OPTIONS_GHC -ddump-simpl-stats #-}

-- The rule foo/bar should fire

module Roman where

foo :: (forall m. m a -> m b) -> m a -> m b
{-# NOINLINE foo #-}
foo f = f

bar :: (forall m. m a -> m a) -> m a -> m a
bar f = f

{-# RULES "foo/bar" foo = bar #-}

blip = foo id