Fix test T2497 to avoid infinite loop in RULES
authorSimon Peyton Jones <simonpj@microsoft.com>
Tue, 21 Jul 2015 13:39:17 +0000 (14:39 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Tue, 21 Jul 2015 14:57:11 +0000 (15:57 +0100)
testsuite/tests/typecheck/should_compile/T2497.hs
testsuite/tests/typecheck/should_compile/T2497.stderr

index 24933e0..87b717d 100644 (file)
@@ -14,9 +14,13 @@ foo x = x
 -- Trac #2213; eq should not be reported as unused
 
 eq,beq :: Eq a => a -> a -> Bool
+{-# NOINLINE [0] eq #-}
+-- The pragma and [~1] in the RULE are to prevent an infinite loo
+-- in the simplifier, where the RULE fires infinitely in its
+-- own RHS
 eq = (==)    -- Used
 beq = (==)   -- Unused
 
 {-# RULES
-    "rule 1" forall x y. x == y = y `eq` x
+    "rule 1" [~1] forall x y. x == y = y `eq` x
   #-}
index cd7ad8b..da730a0 100644 (file)
@@ -1,2 +1,2 @@
 
-T2497.hs:18:1: Warning: Defined but not used: ‘beq’
+T2497.hs:22:1: warning: Defined but not used: ‘beq’