summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Buhr <buhr@asaurus.net>2019-05-09 21:46:48 -0500
committerKevin Buhr <buhr@asaurus.net>2019-05-09 21:52:08 -0500
commitee91f93bc76a6ddd399c9fbbb194441497ffa523 (patch)
treea824fc2f788f786a0a4b47a5ed7b81bed283a3a2
parent396e01b472bba36530e7eb065b82d311f0da7880 (diff)
downloadhaskell-wip/T502.tar.gz
Add test for old issue displaying unboxed tuples in error messages (#502)wip/T502
-rw-r--r--testsuite/tests/typecheck/should_fail/T502.hs10
-rw-r--r--testsuite/tests/typecheck/should_fail/T502.stderr12
-rw-r--r--testsuite/tests/typecheck/should_fail/all.T1
3 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/typecheck/should_fail/T502.hs b/testsuite/tests/typecheck/should_fail/T502.hs
new file mode 100644
index 0000000000..c73b7ac0e2
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/T502.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE MagicHash, UnboxedTuples #-}
+
+module T502 where
+
+-- As per #502, the following type error message should correctly
+-- display the unboxed tuple type.
+bar :: Int
+bar = snd foo
+ where foo :: (# Int, Int #)
+ foo = undefined
diff --git a/testsuite/tests/typecheck/should_fail/T502.stderr b/testsuite/tests/typecheck/should_fail/T502.stderr
new file mode 100644
index 0000000000..ba5f6d157a
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/T502.stderr
@@ -0,0 +1,12 @@
+
+T502.hs:8:11: error:
+ • Couldn't match expected type ‘(a0, Int)’
+ with actual type ‘(# Int, Int #)’
+ • In the first argument of ‘snd’, namely ‘foo’
+ In the expression: snd foo
+ In an equation for ‘bar’:
+ bar
+ = snd foo
+ where
+ foo :: (# Int, Int #)
+ foo = undefined
diff --git a/testsuite/tests/typecheck/should_fail/all.T b/testsuite/tests/typecheck/should_fail/all.T
index c51398f00b..60d556b800 100644
--- a/testsuite/tests/typecheck/should_fail/all.T
+++ b/testsuite/tests/typecheck/should_fail/all.T
@@ -515,3 +515,4 @@ test('T16204c', normal, compile_fail, [''])
test('T16394', normal, compile_fail, [''])
test('T16414', normal, compile_fail, [''])
test('T16627', normal, compile_fail, [''])
+test('T502', normal, compile_fail, [''])