summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/gadt
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/gadt')
-rw-r--r--testsuite/tests/ghc-regress/gadt/all.T2
-rw-r--r--testsuite/tests/ghc-regress/gadt/lazypatok.hs3
-rw-r--r--testsuite/tests/ghc-regress/gadt/lazypatok.stderr8
-rw-r--r--testsuite/tests/ghc-regress/gadt/rw.stderr23
4 files changed, 14 insertions, 22 deletions
diff --git a/testsuite/tests/ghc-regress/gadt/all.T b/testsuite/tests/ghc-regress/gadt/all.T
index d67ca7cca5..fc14aa76db 100644
--- a/testsuite/tests/ghc-regress/gadt/all.T
+++ b/testsuite/tests/ghc-regress/gadt/all.T
@@ -25,7 +25,7 @@ test('nbe', normal, compile, [''])
test('while', normal, compile_and_run, [''])
test('rw', normal, compile_fail, [''])
test('lazypat', normal, compile_fail, [''])
-test('lazypatok', normal, compile_fail, [''])
+test('lazypatok', normal, compile, [''])
test('tc', normal, compile_and_run, [''])
test('arrow', normal, compile, [''])
test('tdpe', normal, compile, [''])
diff --git a/testsuite/tests/ghc-regress/gadt/lazypatok.hs b/testsuite/tests/ghc-regress/gadt/lazypatok.hs
index a594ead7a7..0154f2d06a 100644
--- a/testsuite/tests/ghc-regress/gadt/lazypatok.hs
+++ b/testsuite/tests/ghc-regress/gadt/lazypatok.hs
@@ -2,8 +2,7 @@
-- It's not clear whether this one should succed or fail,
-- Arguably it should succeed because the type refinement on
--- T1 should make (y::Int). Currently, though, it fails, and
--- I don't think it's easy to fix, so I'm leaving it for now.
+-- T1 should make (y::Int). Currently, though, it succeeds
module ShouldFail where
diff --git a/testsuite/tests/ghc-regress/gadt/lazypatok.stderr b/testsuite/tests/ghc-regress/gadt/lazypatok.stderr
index 0e32cccaf3..e69de29bb2 100644
--- a/testsuite/tests/ghc-regress/gadt/lazypatok.stderr
+++ b/testsuite/tests/ghc-regress/gadt/lazypatok.stderr
@@ -1,8 +0,0 @@
-
-lazypatok.hs:14:17:
- Couldn't match the rigid variable `a' against `Int'
- `a' is bound by the type signature for `f'
- Expected type: Int
- Inferred type: a
- In the second argument of `(+)', namely `y'
- In the definition of `f': f ~(T1 x, y) = x + y
diff --git a/testsuite/tests/ghc-regress/gadt/rw.stderr b/testsuite/tests/ghc-regress/gadt/rw.stderr
index 17b083c0dc..d1e9ab55c3 100644
--- a/testsuite/tests/ghc-regress/gadt/rw.stderr
+++ b/testsuite/tests/ghc-regress/gadt/rw.stderr
@@ -1,16 +1,17 @@
rw.hs:14:32:
- Couldn't match the rigid variable `a' against `Int'
- `a' is bound by the type signature for `writeInt'
- Expected type: a
- Inferred type: Int
- In the expression: 1 :: Int
+ Couldn't match expected type `a' (a rigid variable)
+ against inferred type `Int'
+ `a' is bound by the type signature for `writeInt' at rw.hs:12:13
In the second argument of `writeIORef', namely `(1 :: Int)'
+ In the call (writeIORef ref (1 :: Int))
+ In the expression: writeIORef ref (1 :: Int)
-rw.hs:19:28:
- Couldn't match the rigid variable `a' against `Bool'
- `a' is bound by the type signature for `readBool'
- Expected type: a -> IO b
- Inferred type: Bool -> IO ()
- In the expression: print . not
+rw.hs:19:36:
+ Couldn't match expected type `a' (a rigid variable)
+ against inferred type `Bool'
+ `a' is bound by the type signature for `readBool' at rw.hs:16:13
+ Expected type: a -> t
+ Inferred type: Bool -> Bool
+ In the second argument of `(.)', namely `not'
In the second argument of `(>>=)', namely `(print . not)'