diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2019-01-15 08:08:43 -0500 |
---|---|---|
committer | Ryan Scott <ryan.gl.scott@gmail.com> | 2019-01-15 08:08:43 -0500 |
commit | 83a22066fbe136e4a984e8c90c1d3fd72b6ec4b9 (patch) | |
tree | abd9df501e567f4b8c11318604828ff692437983 /testsuite/tests/rename/should_fail | |
parent | 69947d58c29cc0b047cc34fb4873e12f47e9674c (diff) | |
download | haskell-83a22066fbe136e4a984e8c90c1d3fd72b6ec4b9.tar.gz |
Fix #16114 by adding a validity check to rnClsInstDecl
Diffstat (limited to 'testsuite/tests/rename/should_fail')
-rw-r--r-- | testsuite/tests/rename/should_fail/T16114.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/T16114.stderr | 6 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/T5951.stderr | 17 | ||||
-rw-r--r-- | testsuite/tests/rename/should_fail/all.T | 2 |
4 files changed, 15 insertions, 14 deletions
diff --git a/testsuite/tests/rename/should_fail/T16114.hs b/testsuite/tests/rename/should_fail/T16114.hs new file mode 100644 index 0000000000..ce891b5a22 --- /dev/null +++ b/testsuite/tests/rename/should_fail/T16114.hs @@ -0,0 +1,4 @@ +module T16114 where + +data T a +instance Eq a => Eq a => Eq (T a) where (==) = undefined diff --git a/testsuite/tests/rename/should_fail/T16114.stderr b/testsuite/tests/rename/should_fail/T16114.stderr new file mode 100644 index 0000000000..aec0e3e3e0 --- /dev/null +++ b/testsuite/tests/rename/should_fail/T16114.stderr @@ -0,0 +1,6 @@ + +T16114.hs:4:10: error: + Illegal class instance: ‘Eq a => Eq a => Eq (T a)’ + Class instances must be of the form + context => C ty_1 ... ty_n + where ‘C’ is a class diff --git a/testsuite/tests/rename/should_fail/T5951.stderr b/testsuite/tests/rename/should_fail/T5951.stderr index 8fda353b33..b325493f35 100644 --- a/testsuite/tests/rename/should_fail/T5951.stderr +++ b/testsuite/tests/rename/should_fail/T5951.stderr @@ -1,15 +1,6 @@ T5951.hs:8:8: error: - • Expecting one more argument to ‘A’ - Expected a constraint, but ‘A’ has kind ‘* -> Constraint’ - • In the instance declaration for ‘B => C’ - -T5951.hs:9:8: error: - • Expecting one more argument to ‘B’ - Expected a constraint, but ‘B’ has kind ‘* -> Constraint’ - • In the instance declaration for ‘B => C’ - -T5951.hs:10:8: error: - • Expecting one more argument to ‘C’ - Expected a constraint, but ‘C’ has kind ‘* -> Constraint’ - • In the instance declaration for ‘B => C’ + Illegal class instance: ‘A => B => C’ + Class instances must be of the form + context => C ty_1 ... ty_n + where ‘C’ is a class diff --git a/testsuite/tests/rename/should_fail/all.T b/testsuite/tests/rename/should_fail/all.T index 56934266d2..d5a5ec58e9 100644 --- a/testsuite/tests/rename/should_fail/all.T +++ b/testsuite/tests/rename/should_fail/all.T @@ -143,5 +143,5 @@ test('T15611a', normal, compile_fail, ['']) test('T15611b', normal, ghci_script, ['T15611b.script']) test('T15828', normal, compile_fail, ['']) test('T16002', normal, compile_fail, ['']) - +test('T16114', normal, compile_fail, ['']) test('ExplicitForAllRules2', normal, compile_fail, ['']) |