summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/parser/unicode/T18225A.hs13
-rw-r--r--testsuite/tests/parser/unicode/T18225B.hs11
-rw-r--r--testsuite/tests/parser/unicode/T18225B.stderr1
-rw-r--r--testsuite/tests/parser/unicode/all.T2
4 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/tests/parser/unicode/T18225A.hs b/testsuite/tests/parser/unicode/T18225A.hs
new file mode 100644
index 0000000000..5e340a3fe6
--- /dev/null
+++ b/testsuite/tests/parser/unicode/T18225A.hs
@@ -0,0 +1,13 @@
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE UnicodeSyntax #-}
+
+module T18225A where
+
+(!) :: IO a -> b -> b
+(!) _ = id
+
+test1 :: Int
+test1 = $⟦1⟧
+
+test2 :: Int
+test2 = ⟦2⟧!2
diff --git a/testsuite/tests/parser/unicode/T18225B.hs b/testsuite/tests/parser/unicode/T18225B.hs
new file mode 100644
index 0000000000..5bd15f1e13
--- /dev/null
+++ b/testsuite/tests/parser/unicode/T18225B.hs
@@ -0,0 +1,11 @@
+{-# LANGUAGE Arrows #-}
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE UnicodeSyntax #-}
+
+module T18225B where
+
+f :: (a, (b, c)) -> b
+f (_, (x, _)) = x
+
+test :: a -> a
+test = proc x -> ⦇f⦈$([|x|])
diff --git a/testsuite/tests/parser/unicode/T18225B.stderr b/testsuite/tests/parser/unicode/T18225B.stderr
new file mode 100644
index 0000000000..67cff08f21
--- /dev/null
+++ b/testsuite/tests/parser/unicode/T18225B.stderr
@@ -0,0 +1 @@
+T18225B.hs:11:23: Parse error in command: [| x |]
diff --git a/testsuite/tests/parser/unicode/all.T b/testsuite/tests/parser/unicode/all.T
index 55f7fd09be..54a3b7cb1f 100644
--- a/testsuite/tests/parser/unicode/all.T
+++ b/testsuite/tests/parser/unicode/all.T
@@ -28,3 +28,5 @@ test('T10907', normal, compile, [''])
test('T7650', normal, compile, [''])
test('brackets', normal, compile, [''])
+test('T18225A', normal, compile, [''])
+test('T18225B', normal, compile_fail, [''])