diff options
Diffstat (limited to 'testsuite/tests/ghc-regress/gadt')
-rw-r--r-- | testsuite/tests/ghc-regress/gadt/all.T | 2 | ||||
-rw-r--r-- | testsuite/tests/ghc-regress/gadt/lazypatok.hs | 3 | ||||
-rw-r--r-- | testsuite/tests/ghc-regress/gadt/lazypatok.stderr | 8 | ||||
-rw-r--r-- | testsuite/tests/ghc-regress/gadt/rw.stderr | 23 |
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)' |