Testsuite: fixup lots of tests
authorThomas Miedema <thomasmiedema@gmail.com>
Mon, 25 Apr 2016 14:58:34 +0000 (16:58 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Tue, 26 Apr 2016 08:50:05 +0000 (10:50 +0200)
These aren't run very often, because they require external libraries.
https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Running#AdditionalPackages

maessen-hashtab still doesn't compile, QuickCheck api changed.

Update submodule hpc.

18 files changed:
libraries/base/tests/Concurrent/Chan001.hs
libraries/base/tests/Concurrent/Chan001.stdout
libraries/base/tests/Concurrent/MVar001.hs
libraries/base/tests/Concurrent/MVar001.stdout
libraries/hpc
testsuite/tests/codeGen/should_run/all.T
testsuite/tests/codeGen/should_run/cgrun025.hs
testsuite/tests/codeGen/should_run/cgrun025.stderr
testsuite/tests/deriving/should_run/T3087.hs
testsuite/tests/indexed-types/should_compile/T3787.hs
testsuite/tests/indexed-types/should_compile/T3787.stderr [new file with mode: 0644]
testsuite/tests/module/T1074.hs
testsuite/tests/module/T1074.stderr
testsuite/tests/module/mod133.hs
testsuite/tests/programs/galois_raytrace/Eval.hs
testsuite/tests/programs/maessen-hashtab/HashTest.hs
testsuite/tests/rebindable/DoParamM.stderr
testsuite/tests/typecheck/should_compile/tc232.hs

index ad3b8ff..e1b164e 100644 (file)
@@ -1,4 +1,4 @@
-import Debug.QuickCheck
+import Test.QuickCheck
 import System.IO.Unsafe
 import Control.Concurrent.Chan
 import Control.Concurrent
index 53bfa8a..ab7b91a 100644 (file)
@@ -1,3 +1,3 @@
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
index 5c0c160..6062cbf 100644 (file)
@@ -1,4 +1,4 @@
-import Debug.QuickCheck
+import Test.QuickCheck
 import System.IO.Unsafe
 import Control.Concurrent.MVar
 import Control.Concurrent
index 65be56c..9430cca 100644 (file)
@@ -1,6 +1,6 @@
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
-0\b1\b2\b3\b4\b5\b6\b7\b8\b9\b10\b\b11\b\b12\b\b13\b\b14\b\b15\b\b16\b\b17\b\b18\b\b19\b\b20\b\b21\b\b22\b\b23\b\b24\b\b25\b\b26\b\b27\b\b28\b\b29\b\b30\b\b31\b\b32\b\b33\b\b34\b\b35\b\b36\b\b37\b\b38\b\b39\b\b40\b\b41\b\b42\b\b43\b\b44\b\b45\b\b46\b\b47\b\b48\b\b49\b\b50\b\b51\b\b52\b\b53\b\b54\b\b55\b\b56\b\b57\b\b58\b\b59\b\b60\b\b61\b\b62\b\b63\b\b64\b\b65\b\b66\b\b67\b\b68\b\b69\b\b70\b\b71\b\b72\b\b73\b\b74\b\b75\b\b76\b\b77\b\b78\b\b79\b\b80\b\b81\b\b82\b\b83\b\b84\b\b85\b\b86\b\b87\b\b88\b\b89\b\b90\b\b91\b\b92\b\b93\b\b94\b\b95\b\b96\b\b97\b\b98\b\b99\b\bOK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
++++ OK, passed 100 tests.
index 0741f65..fbe2b7b 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0741f656fdadc14960f55e1970080d4699371055
+Subproject commit fbe2b7b9e163daa8fbe3c8f2dddc1132aa4e735f
index c913951..1175f22 100644 (file)
@@ -25,7 +25,7 @@ test('cgrun021', normal, compile_and_run, [''])
 test('cgrun022', normal, compile_and_run, [''])
 test('cgrun024', normal, compile_and_run, [''])
 test('cgrun025',
-     [reqlib('regex-compat'), extra_run_opts('cg025.hs'), exit_code(1)],
+     [reqlib('regex-compat'), extra_run_opts('cgrun025.hs'), exit_code(1)],
      compile_and_run, ['-package regex-compat'])
 test('cgrun026', normal, compile_and_run, [''])
 test('cgrun027', normal, compile_and_run, [''])
index 8df8945..f9633ee 100644 (file)
@@ -1,15 +1,17 @@
+{-# LANGUAGE ScopedTypeVariables #-}
 -- !!! test various I/O Requests
 --
 --
-import IO
-import System
+import Control.Exception
+import System.Environment
+import System.IO
 import Debug.Trace (trace)
 import Text.Regex
-import Maybe
+import Data.Maybe
 
 main = do
     prog <- getProgName
-    let Just (name:_) = matchRegex (mkRegex ".*(cg025)") prog
+    let Just (name:_) = matchRegex (mkRegex ".*(cgrun025)") prog
     hPutStr stderr (shows name "\n")
     args <- getArgs
     hPutStr stderr (shows args "\n")
@@ -20,4 +22,4 @@ main = do
     file_cts <- readFile (head args)
     hPutStr  stderr file_cts
     trace "hello, trace" $
-      catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error")
+      catch (getEnv "__WURBLE__" >> return ()) (\ (e :: SomeException) -> error "hello, error")
index a62fc44..2668913 100644 (file)
@@ -1,14 +1,16 @@
 "cgrun025"
 ["cgrun025.hs"]
 GOT PATH
+{-# LANGUAGE ScopedTypeVariables #-}
 -- !!! test various I/O Requests
 --
 --
-import IO
-import System
+import Control.Exception
+import System.Environment
+import System.IO
 import Debug.Trace (trace)
 import Text.Regex
-import Maybe
+import Data.Maybe
 
 main = do
     prog <- getProgName
@@ -23,6 +25,8 @@ main = do
     file_cts <- readFile (head args)
     hPutStr  stderr file_cts
     trace "hello, trace" $
-      catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error")
+      catch (getEnv "__WURBLE__" >> return ()) (\ (e :: SomeException) -> error "hello, error")
 hello, trace
 cgrun025: hello, error
+CallStack (from HasCallStack):
+  error, called at cgrun025.hs:25:75 in main:Main
index 7cba3d9..9d3be07 100644 (file)
@@ -2,7 +2,7 @@
 
 module Main where
 
-import Data.Generics
+import Data.Generics hiding (ext2Q)
 
 data MyMaybe a = MyNothing | MyJust a deriving (Data, Typeable)
 
index a52c27f..9c679f8 100644 (file)
@@ -24,7 +24,7 @@ module T3787 where
 
 import Control.Concurrent (forkIO)
 import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar)
-import Control.Monad (liftM, liftM2, when)
+import Control.Monad (liftM, liftM2, when, ap)
 import Control.Monad.Identity
 import Control.Monad.Trans (MonadTrans(..))
 
@@ -77,8 +77,15 @@ data TrampolineState s m r =
    -- | Computation is suspended, its remainder is embedded in the functor /s/.
  | Suspend! (s (Trampoline s m r))
 
+instance (Functor s, Monad m) => Functor (Trampoline s m) where
+   fmap = liftM
+
+instance (Functor s, Monad m) => Applicative (Trampoline s m) where
+   pure x = Trampoline (pure (Done x))
+   (<*>) = ap
+
 instance (Functor s, Monad m) => Monad (Trampoline s m) where
-   return x = Trampoline (return (Done x))
+   return = pure
    t >>= f = Trampoline (bounce t >>= apply f)
       where apply f (Done x) = bounce (f x)
             apply f (Suspend s) = return (Suspend (fmap (>>= f) s))
diff --git a/testsuite/tests/indexed-types/should_compile/T3787.stderr b/testsuite/tests/indexed-types/should_compile/T3787.stderr
new file mode 100644 (file)
index 0000000..e4da42e
--- /dev/null
@@ -0,0 +1,3 @@
+
+T3787.hs:20:51: warning:
+    -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS
index 75a07c1..ece70bf 100644 (file)
@@ -2,6 +2,7 @@
 module Test where
 
 import qualified Control.Monad (ap)
+-- Test that GHC warns about the following unused import:
 import qualified Control.Monad.Reader
 
 foo :: IO ()
index 53b3360..14e56e8 100644 (file)
@@ -1,5 +1,5 @@
 
-T1074.hs:5:1: Warning:
-    The qualified import of `Control.Monad.Reader' is redundant
-      except perhaps to import instances from `Control.Monad.Reader'
+T1074.hs:6:1: warning: [-Wunused-imports (in -Wextra)]
+    The qualified import of ‘Control.Monad.Reader’ is redundant
+      except perhaps to import instances from ‘Control.Monad.Reader’
     To import instances alone, use: import Control.Monad.Reader()
index be05057..f56ec1d 100644 (file)
@@ -1,16 +1,24 @@
--- Control.Monad.Error re-exports Control.Monad.Fix.
+-- Control.Monad.Except re-exports Control.Monad.Fix.
 -- This test checks that the subordinate-name test
 -- for a class operation (when renaming the instance decl)
 -- works correctly.
 
 module ShouldCompile where
 
-import Control.Monad.Error
+import Control.Monad
+import Control.Monad.Except
 
 data Foo a = Foo a
 
+instance Functor Foo where
+  fmap = liftM
+
+instance Applicative Foo where
+  pure = Foo
+  (<*>) = ap
+
 instance Monad Foo where
-  return a       = Foo a
+  return         = pure
   (Foo a) >>= k  = k a
 
 instance MonadFix Foo where
index 5939d47..bd9d419 100644 (file)
@@ -5,6 +5,7 @@
 
 module Eval where
 
+import Control.Monad
 import Data.Array
 
 import Geometry
@@ -22,9 +23,16 @@ class Monad m => MonadEval m where
 
 newtype Pure a = Pure a deriving Show
 
+instance Functor Pure where
+    fmap = liftM
+
+instance Applicative Pure where
+    pure = Pure
+    (<*>) = ap
+
 instance Monad Pure where
     Pure x >>= k = k x
-    return       = Pure
+    return       = pure
     fail s       = error s
 
 instance MonadEval Pure where
@@ -286,11 +294,18 @@ newtype Abs a   = Abs { runAbs :: Int -> AbsState a }
 data AbsState a = AbsState a !Int
                 | AbsFail String
 
+instance Functor Abs where
+    fmap = liftM
+
+instance Applicative Abs where
+    pure x = Abs (\ n -> AbsState x n)
+    (<*>) = ap
+
 instance Monad Abs where
     (Abs fn) >>= k = Abs (\ s -> case fn s of
                                   AbsState r s' -> runAbs (k r) s'
                                    AbsFail m     -> AbsFail m)
-    return x     = Abs (\ n -> AbsState x n)
+    return       = pure
     fail s       = Abs (\ n -> AbsFail s)
 
 instance MonadEval Abs where
index 51c60c0..59795bb 100644 (file)
@@ -34,7 +34,6 @@ instance Arbitrary Action where
                          (5, liftM2 Insert arbitrary arbitrary),
                          (3, liftM2 Update arbitrary arbitrary),
                          (1, fmap Delete arbitrary)]
-  coarbitrary = error "coarbitrary Action"
 
 simA :: [Action] -> [Either Bool [Int]]
 simA = fst . foldl sim ([],[])
@@ -94,12 +93,10 @@ instance Show a => Show (List a) where
 instance Arbitrary HashFun where
   arbitrary = frequency [(20,return (HF hashInt)),
                          (1,return (HF (const 0)))]
-  coarbitrary = error "coarbitrary HashFun"
 
 instance Arbitrary Empty where
   arbitrary = fmap mkE arbitrary
     where mkE (HF hf) = E {e = new (==) hf, hfe=HF hf}
-  coarbitrary = error "coarbitrary Empty"
 
 instance Arbitrary a => Arbitrary (List a) where
   arbitrary = do
@@ -107,7 +104,6 @@ instance Arbitrary a => Arbitrary (List a) where
                      (1,return (4096*2)),
                      (0, return (1024*1024))]
     resize sz $ fmap L $ sized vector
-  coarbitrary = error "coarbitrary (List a)"
 
 instance Arbitrary MkH where
   arbitrary = do
@@ -115,7 +111,6 @@ instance Arbitrary MkH where
     L list <- arbitrary
     let mkH act = H { h = act, hfh = hf }
     return (mkH . fromList (unHF hf) $ list)
-  coarbitrary = error "coarbitrary MkH"
 
 (==~) :: (Eq a) => IO a -> IO a -> Bool
 act1 ==~ act2 = unsafePerformIO act1 == unsafePerformIO act2
@@ -251,9 +246,7 @@ te :: (Testable a) => String -> a -> IO ()
 -- te name prop = putStrLn name >> verboseCheck prop
 te name prop = do
   putStr name
-  check (defaultConfig{configMaxTest = 500,
-                               configMaxFail = 10000,
-                               configEvery = \_ _ -> "" }) prop
+  quickCheckWith stdArgs { maxSuccess = 500, maxSize = 10000 } prop
 
 main :: IO ()
 main = do
index 09d2370..6328d08 100644 (file)
@@ -1,34 +1,34 @@
 
-DoParamM.hs:146:25:
-    Couldn't match expected type `Int' with actual type `Char'
-    In the second argument of `(==)', namely v'
-    In the first argument of `return', namely `(v == v')'
-    In a stmt of a 'do' block: return (v == v')
+DoParamM.hs:146:25: error:
+    • Couldn't match expected type ‘Int’ with actual type ‘Char’
+    • In the second argument of ‘(==)’, namely ‘v'’
+      In the first argument of ‘return’, namely ‘(v == v')’
+      In a stmt of a 'do' block: return (v == v')
 
-DoParamM.hs:286:28:
-    Couldn't match type `Unlocked' with `Locked'
-    Expected type: LIO Locked Locked ()
-      Actual type: LIO Unlocked Locked ()
-    In a stmt of a 'do' block: tlock2_do
-    In the expression:
-      do { tlock2_do;
-           tlock2_do }
-    In an equation for `tlock4_do':
-        tlock4_do
-          = do { tlock2_do;
-                 tlock2_do }
+DoParamM.hs:286:28: error:
+    • Couldn't match type ‘Unlocked’ with ‘Locked’
+      Expected type: LIO Locked Locked ()
+        Actual type: LIO Unlocked Locked ()
+    • In a stmt of a 'do' block: tlock2_do
+      In the expression:
+        do { tlock2_do;
+             tlock2_do }
+      In an equation for ‘tlock4_do’:
+          tlock4_do
+            = do { tlock2_do;
+                   tlock2_do }
 
-DoParamM.hs:302:37:
-    Couldn't match type `Locked' with `Unlocked'
-    Expected type: LIO Unlocked Unlocked ()
-      Actual type: LIO Locked Unlocked ()
-    In a stmt of a 'do' block: unlock
-    In the expression:
-      do { tlock2_do;
-           unlock;
-           unlock }
-    In an equation for `tlock4'_do':
-        tlock4'_do
-          = do { tlock2_do;
-                 unlock;
-                 unlock }
+DoParamM.hs:302:37: error:
+    • Couldn't match type ‘Locked’ with ‘Unlocked’
+      Expected type: LIO Unlocked Unlocked ()
+        Actual type: LIO Locked Unlocked ()
+    • In a stmt of a 'do' block: unlock
+      In the expression:
+        do { tlock2_do;
+             unlock;
+             unlock }
+      In an equation for ‘tlock4'_do’:
+          tlock4'_do
+            = do { tlock2_do;
+                   unlock;
+                   unlock }
index 0e6450b..9d5ede3 100644 (file)
@@ -1,6 +1,6 @@
 {-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
 
--- This one foxed the constraint solver (Lint error)
+-- This one fixed the constraint solver (Lint error)
 -- See Trac #1494
 
 module ShouldCompile where