summaryrefslogtreecommitdiff
path: root/testsuite/tests/linear
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>2021-06-19 21:44:17 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-06-24 20:35:56 -0400
commit4d5967b5148d5502d7c53a5a321919779c3165e4 (patch)
tree7348b3ae363486350fc0be24f9138be5362be9d3 /testsuite/tests/linear
parent138b7a5775251c330ade870a0b8d1f5c4659e669 (diff)
downloadhaskell-4d5967b5148d5502d7c53a5a321919779c3165e4.tar.gz
Fixes around incomplete guards (#20023, #20024)
- Fix linearity error with incomplete MultiWayIf (#20023) - Fix partial pattern binding error message (#20024) - Remove obsolete test LinearPolyTest It tested the special typing rule for ($), which was removed during the implementation of Quick Look 97cff9190d3. - Fix ticket numbers in linear/*/all.T, they referred to linear types issue tracker
Diffstat (limited to 'testsuite/tests/linear')
-rw-r--r--testsuite/tests/linear/should_compile/LinearPolyDollar.hs10
-rw-r--r--testsuite/tests/linear/should_compile/T20023.hs5
-rw-r--r--testsuite/tests/linear/should_compile/all.T4
-rw-r--r--testsuite/tests/linear/should_fail/all.T2
4 files changed, 8 insertions, 13 deletions
diff --git a/testsuite/tests/linear/should_compile/LinearPolyDollar.hs b/testsuite/tests/linear/should_compile/LinearPolyDollar.hs
deleted file mode 100644
index 7d14351cfc..0000000000
--- a/testsuite/tests/linear/should_compile/LinearPolyDollar.hs
+++ /dev/null
@@ -1,10 +0,0 @@
-{-# LANGUAGE LinearTypes #-}
-
-module LinearPolyDollar where
-
--- The goal of this test is to ensure that the special typing rule of ($) plays
--- well with multiplicity-polymorphic functions
-
-data F = F Bool
-
-x = F $ True
diff --git a/testsuite/tests/linear/should_compile/T20023.hs b/testsuite/tests/linear/should_compile/T20023.hs
new file mode 100644
index 0000000000..13fd8a1dd5
--- /dev/null
+++ b/testsuite/tests/linear/should_compile/T20023.hs
@@ -0,0 +1,5 @@
+{-# LANGUAGE LinearTypes, MultiWayIf #-}
+module T20023 where
+
+f :: Bool -> a %1-> a
+f b x = if | b -> x
diff --git a/testsuite/tests/linear/should_compile/all.T b/testsuite/tests/linear/should_compile/all.T
index 17e04ca94a..77cd913b81 100644
--- a/testsuite/tests/linear/should_compile/all.T
+++ b/testsuite/tests/linear/should_compile/all.T
@@ -24,16 +24,16 @@ test('Linear4', normal, compile, [''])
test('Linear6', normal, compile, [''])
test('Linear8', normal, compile, [''])
test('LinearGuards', normal, compile, [''])
-test('LinearPolyDollar', normal, compile, [''])
test('LinearConstructors', normal, compile, [''])
test('Linear1Rule', normal, compile, [''])
test('LinearEmptyCase', normal, compile, [''])
test('Tunboxer', normal, compile, [''])
test('MultConstructor', expect_broken(19165), compile, [''])
-test('LinearLetRec', expect_broken(405), compile, ['-O -dlinear-core-lint'])
+test('LinearLetRec', expect_broken(18694), compile, ['-O -dlinear-core-lint'])
test('LinearTH1', normal, compile, [''])
test('LinearTH2', normal, compile, [''])
test('LinearTH3', normal, compile, [''])
test('LinearHole', normal, compile, [''])
test('T18731', normal, compile, [''])
test('T19400', unless(compiler_debugged(), skip), compile, [''])
+test('T20023', normal, compile, [''])
diff --git a/testsuite/tests/linear/should_fail/all.T b/testsuite/tests/linear/should_fail/all.T
index 3dbf154705..a831011cef 100644
--- a/testsuite/tests/linear/should_fail/all.T
+++ b/testsuite/tests/linear/should_fail/all.T
@@ -25,7 +25,7 @@ test('LinearKind2', normal, compile_fail, [''])
test('LinearKind3', normal, compile_fail, [''])
test('LinearVar', normal, compile_fail, ['-XLinearTypes'])
test('LinearErrOrigin', normal, compile_fail, ['-XLinearTypes'])
-test('LinearPolyType', normal, compile_fail, ['']) # not supported yet (#390)
+test('LinearPolyType', normal, compile_fail, ['']) # not supported yet (#19517)
test('LinearBottomMult', normal, compile_fail, [''])
test('LinearSequenceExpr', normal, compile_fail, [''])
test('LinearIf', normal, compile_fail, [''])