diff options
Diffstat (limited to 'testsuite/tests/simplCore/should_run/simplrun008.hs')
-rw-r--r-- | testsuite/tests/simplCore/should_run/simplrun008.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/testsuite/tests/simplCore/should_run/simplrun008.hs b/testsuite/tests/simplCore/should_run/simplrun008.hs new file mode 100644 index 0000000000..782f0e40ac --- /dev/null +++ b/testsuite/tests/simplCore/should_run/simplrun008.hs @@ -0,0 +1,18 @@ + +module Main where +import Data.Char + +{-# NOINLINE f #-} +f :: Int -> String +f x = "NOT FIRED" + +{-# NOINLINE neg #-} +neg :: Int -> Int +neg = negate + +{-# RULES + "f" forall (c::Char->Int) (x::Char). f (c x) = "RULE FIRED" + #-} + +main = do { print (f (ord 'a')) -- Rule should fire + ; print (f (neg 1)) } -- Rule should not fire |