summaryrefslogtreecommitdiff
path: root/testsuite/tests/partial-sigs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/partial-sigs')
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T14643.hs9
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T14643.stderr8
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T14643a.hs9
-rw-r--r--testsuite/tests/partial-sigs/should_compile/T14643a.stderr8
-rw-r--r--testsuite/tests/partial-sigs/should_compile/all.T7
-rw-r--r--testsuite/tests/partial-sigs/should_fail/T14040a.stderr2
-rw-r--r--testsuite/tests/partial-sigs/should_fail/all.T2
7 files changed, 41 insertions, 4 deletions
diff --git a/testsuite/tests/partial-sigs/should_compile/T14643.hs b/testsuite/tests/partial-sigs/should_compile/T14643.hs
new file mode 100644
index 0000000000..b6de27db65
--- /dev/null
+++ b/testsuite/tests/partial-sigs/should_compile/T14643.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE PartialTypeSignatures #-}
+
+module T14653 where
+
+af, ag :: (Num a,_) => a -> a
+-- It's important that one signature covers both
+
+af y = ag y
+ag x = af (x-1)
diff --git a/testsuite/tests/partial-sigs/should_compile/T14643.stderr b/testsuite/tests/partial-sigs/should_compile/T14643.stderr
new file mode 100644
index 0000000000..c5f204e799
--- /dev/null
+++ b/testsuite/tests/partial-sigs/should_compile/T14643.stderr
@@ -0,0 +1,8 @@
+
+T14643.hs:5:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
+ • Found type wildcard ‘_’ standing for ‘()’
+ • In the type signature: af :: (Num a, _) => a -> a
+
+T14643.hs:5:18: warning: [-Wpartial-type-signatures (in -Wdefault)]
+ • Found type wildcard ‘_’ standing for ‘()’
+ • In the type signature: ag :: (Num a, _) => a -> a
diff --git a/testsuite/tests/partial-sigs/should_compile/T14643a.hs b/testsuite/tests/partial-sigs/should_compile/T14643a.hs
new file mode 100644
index 0000000000..47ef519e37
--- /dev/null
+++ b/testsuite/tests/partial-sigs/should_compile/T14643a.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE PartialTypeSignatures #-}
+
+module T14653a where
+
+af :: (Num a,_) => a -> a
+af y = ag y
+
+ag :: (Num a,_) => a -> a
+ag x = af (x-1)
diff --git a/testsuite/tests/partial-sigs/should_compile/T14643a.stderr b/testsuite/tests/partial-sigs/should_compile/T14643a.stderr
new file mode 100644
index 0000000000..1514ac92ed
--- /dev/null
+++ b/testsuite/tests/partial-sigs/should_compile/T14643a.stderr
@@ -0,0 +1,8 @@
+
+T14643a.hs:5:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
+ • Found type wildcard ‘_’ standing for ‘()’
+ • In the type signature: af :: (Num a, _) => a -> a
+
+T14643a.hs:8:14: warning: [-Wpartial-type-signatures (in -Wdefault)]
+ • Found type wildcard ‘_’ standing for ‘()’
+ • In the type signature: ag :: (Num a, _) => a -> a
diff --git a/testsuite/tests/partial-sigs/should_compile/all.T b/testsuite/tests/partial-sigs/should_compile/all.T
index 0f4e425c8e..d13af5ca17 100644
--- a/testsuite/tests/partial-sigs/should_compile/all.T
+++ b/testsuite/tests/partial-sigs/should_compile/all.T
@@ -38,7 +38,7 @@ test('PatBind', normal, compile, ['-ddump-types -fno-warn-partial-type-signature
# Bug
test('PatBind2', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('PatternSig', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
-test('PatternSplice', normal, compile, ['-fno-warn-partial-type-signatures'])
+test('PatternSplice', [req_interp, normal], compile, ['-fno-warn-partial-type-signatures'])
test('Recursive', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('ScopedNamedWildcards', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('ScopedNamedWildcardsGood', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
@@ -53,7 +53,7 @@ test('WarningWildcardInstantiations', normal, compile, ['-ddump-types'])
test('SplicesUsed', [extra_files(['Splices.hs']),
req_interp, omit_ways(prof_ways)], multimod_compile,
['SplicesUsed', config.ghc_th_way_flags])
-test('TypedSplice', [req_interp, normal], compile, [''])
+test('TypedSplice', normal, compile, [''])
test('T10403', normal, compile, [''])
test('T10438', normal, compile, [''])
test('T10519', normal, compile, [''])
@@ -71,3 +71,6 @@ test('T12845', normal, compile, [''])
test('T12844', normal, compile, [''])
test('T13482', normal, compile, [''])
test('T14217', normal, compile_fail, [''])
+test('T14643', normal, compile, [''])
+test('T14643a', normal, compile, [''])
+
diff --git a/testsuite/tests/partial-sigs/should_fail/T14040a.stderr b/testsuite/tests/partial-sigs/should_fail/T14040a.stderr
index b4f0e26822..ac9ad8a1bd 100644
--- a/testsuite/tests/partial-sigs/should_fail/T14040a.stderr
+++ b/testsuite/tests/partial-sigs/should_fail/T14040a.stderr
@@ -21,7 +21,7 @@ T14040a.hs:34:8: error:
-> Sing xs
-> p (WeirdList z1) w1 xs
-> p z1 w2 ('WeirdCons x xs))
- -> p a w3 wl’
+ -> p a1 w3 wl’
to a visible type argument ‘(WeirdList z)’
• In the sixth argument of ‘pWeirdCons’, namely
‘(elimWeirdList @(WeirdList z) @xs @p xs pWeirdNil pWeirdCons)’
diff --git a/testsuite/tests/partial-sigs/should_fail/all.T b/testsuite/tests/partial-sigs/should_fail/all.T
index b974ce8950..0f7496d1f5 100644
--- a/testsuite/tests/partial-sigs/should_fail/all.T
+++ b/testsuite/tests/partial-sigs/should_fail/all.T
@@ -3,7 +3,7 @@ test('AnnotatedConstraintNotForgotten', normal, compile_fail, [''])
test('Defaulting1MROff', normal, compile, [''])
test('ExtraConstraintsWildcardInExpressionSignature', normal, compile, [''])
test('ExtraConstraintsWildcardInPatternSignature', normal, compile_fail, [''])
-test('ExtraConstraintsWildcardInPatternSplice', normal, compile_fail, [''])
+test('ExtraConstraintsWildcardInPatternSplice', [req_interp, normal], compile_fail, [''])
test('ExtraConstraintsWildcardInTypeSpliceUsed', [extra_files(['ExtraConstraintsWildcardInTypeSplice.hs']),
req_interp],
multimod_compile_fail,