summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2017-05-08 17:46:39 -0400
committerBen Gamari <ben@smart-cactus.org>2017-05-08 17:46:55 -0400
commitc5b28e06cc71cba56153e59e2958f24cdf183fb9 (patch)
treebd7f14e65e407ca50c177489878c9e9829a0a60d
parent0279b745c29213c479b61f864ca5d3d2ae76ac77 (diff)
downloadhaskell-c5b28e06cc71cba56153e59e2958f24cdf183fb9.tar.gz
Add a failing test for T13644
The problem originates in TcPat.find_field_ty but I don't know how to clearnly fix it. Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie GHC Trac Issues: #13644 Differential Revision: https://phabricator.haskell.org/D3535
-rw-r--r--testsuite/tests/rename/should_fail/T13644.hs6
-rw-r--r--testsuite/tests/rename/should_fail/T13644.stderr6
-rw-r--r--testsuite/tests/rename/should_fail/T13644A.hs10
-rw-r--r--testsuite/tests/rename/should_fail/T13644B.hs3
-rw-r--r--testsuite/tests/rename/should_fail/T13644C.hs3
-rw-r--r--testsuite/tests/rename/should_fail/all.T1
6 files changed, 29 insertions, 0 deletions
diff --git a/testsuite/tests/rename/should_fail/T13644.hs b/testsuite/tests/rename/should_fail/T13644.hs
new file mode 100644
index 0000000000..14a2049aef
--- /dev/null
+++ b/testsuite/tests/rename/should_fail/T13644.hs
@@ -0,0 +1,6 @@
+module T13644 where
+
+import T13644A
+
+baseENDECfuncs :: FuncId -> ()
+baseENDECfuncs FuncId{ name = nm } = undefined
diff --git a/testsuite/tests/rename/should_fail/T13644.stderr b/testsuite/tests/rename/should_fail/T13644.stderr
new file mode 100644
index 0000000000..8443993fd1
--- /dev/null
+++ b/testsuite/tests/rename/should_fail/T13644.stderr
@@ -0,0 +1,6 @@
+
+T13644.hs:6:24: error:
+ • Constructor ‘FuncId’ does not have field ‘name’
+ • In the pattern: FuncId {name = nm}
+ In an equation for ‘baseENDECfuncs’:
+ baseENDECfuncs FuncId {name = nm} = undefined
diff --git a/testsuite/tests/rename/should_fail/T13644A.hs b/testsuite/tests/rename/should_fail/T13644A.hs
new file mode 100644
index 0000000000..7838513b82
--- /dev/null
+++ b/testsuite/tests/rename/should_fail/T13644A.hs
@@ -0,0 +1,10 @@
+module T13644A
+(
+ FuncId(FuncId)
+, module X
+)
+where
+
+import T13644C as X
+
+import T13644B
diff --git a/testsuite/tests/rename/should_fail/T13644B.hs b/testsuite/tests/rename/should_fail/T13644B.hs
new file mode 100644
index 0000000000..72913e009e
--- /dev/null
+++ b/testsuite/tests/rename/should_fail/T13644B.hs
@@ -0,0 +1,3 @@
+module T13644B where
+
+data FuncId = FuncId { name :: () }
diff --git a/testsuite/tests/rename/should_fail/T13644C.hs b/testsuite/tests/rename/should_fail/T13644C.hs
new file mode 100644
index 0000000000..530d6636bc
--- /dev/null
+++ b/testsuite/tests/rename/should_fail/T13644C.hs
@@ -0,0 +1,3 @@
+module T13644C where
+
+data T = T { name :: () }
diff --git a/testsuite/tests/rename/should_fail/all.T b/testsuite/tests/rename/should_fail/all.T
index 4782685f5e..517d23dc9e 100644
--- a/testsuite/tests/rename/should_fail/all.T
+++ b/testsuite/tests/rename/should_fail/all.T
@@ -125,3 +125,4 @@ test('T12681', normal, multimod_compile_fail, ['T12681','-v0'])
test('T12686', normal, compile_fail, [''])
test('T11592', normal, compile_fail, [''])
test('T12879', normal, compile_fail, [''])
+test('T13644', expect_broken(13644), multimod_compile_fail, ['T13644','-v0'])