diff options
author | sheaf <sam.derbyshire@gmail.com> | 2022-01-11 10:42:17 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-01-11 19:42:07 -0500 |
commit | 34d8bc24e33aa373acb6fdeef51427d968f28c0c (patch) | |
tree | 4eb89724f1b4e9e24ac3dc315497a5071ef463ef /testsuite/tests/unboxedsums/all.T | |
parent | addf8e544841a3f7c818331e47fa89a2cbfb7b29 (diff) | |
download | haskell-34d8bc24e33aa373acb6fdeef51427d968f28c0c.tar.gz |
Fix parsing & printing of unboxed sums
The pretty-printing of partially applied unboxed sums was incorrect,
as we incorrectly dropped the first half of the arguments, even
for a partial application such as
(# | #) @IntRep @DoubleRep Int#
which lead to the nonsensical (# DoubleRep | Int# #).
This patch also allows users to write unboxed sum type constructors
such as
(# | #) :: TYPE r1 -> TYPE r2 -> TYPE (SumRep '[r1,r2]).
Fixes #20858 and #20859.
Diffstat (limited to 'testsuite/tests/unboxedsums/all.T')
-rw-r--r-- | testsuite/tests/unboxedsums/all.T | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/testsuite/tests/unboxedsums/all.T b/testsuite/tests/unboxedsums/all.T index c3cf9f1559..ba25543d54 100644 --- a/testsuite/tests/unboxedsums/all.T +++ b/testsuite/tests/unboxedsums/all.T @@ -17,6 +17,9 @@ test('unboxedsums10', omit_ways(['ghci']), compile_and_run, ['']) test('unboxedsums11', omit_ways(['ghci']), compile_and_run, ['']) test('unboxedsums12', omit_ways(['ghci']), compile, ['']) +test('UnboxedSumsTH', omit_ways(['ghci']), compile, ['']) +test('UnboxedSumsTH_Fail', omit_ways(['ghci']), compile_fail, ['']) + test('ffi1', normal, compile_fail, ['']) test('thunk', only_ways(['normal']), compile_and_run, ['']) test('T12375', only_ways(['normal']), compile_and_run, ['']) @@ -27,3 +30,8 @@ test('T12711', only_ways(['ghci']), ghci_script, ['T12711.script']) test('UbxSumLevPoly', normal, compile, ['-Wno-overlapping-patterns']) test('T14051', normal, multi_compile, ['T14051.hs', [('T14051a.hs', '')], '-O2 -v0']) test('T19645', normal, compile_and_run, ['']) +test('T20858', normal, ghci_script, ['T20858.script']) +test('T20858b', [extra_files(['T20858.hs']) + ,extra_hc_opts("-fprint-explicit-runtime-reps -fprint-explicit-kinds")] + , ghci_script, ['T20858b.script']) +test('T20859', normal, compile, ['']) |