diff options
author | Krzysztof Gogolewski <krzysztof.gogolewski@tweag.io> | 2021-06-19 21:44:17 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-06-24 20:35:56 -0400 |
commit | 4d5967b5148d5502d7c53a5a321919779c3165e4 (patch) | |
tree | 7348b3ae363486350fc0be24f9138be5362be9d3 /testsuite/tests/linear | |
parent | 138b7a5775251c330ade870a0b8d1f5c4659e669 (diff) | |
download | haskell-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.hs | 10 | ||||
-rw-r--r-- | testsuite/tests/linear/should_compile/T20023.hs | 5 | ||||
-rw-r--r-- | testsuite/tests/linear/should_compile/all.T | 4 | ||||
-rw-r--r-- | testsuite/tests/linear/should_fail/all.T | 2 |
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, ['']) |