testsuite: Add unboxed sum to T13929
authorBen Gamari <bgamari.foss@gmail.com>
Tue, 19 Sep 2017 23:09:58 +0000 (19:09 -0400)
committerBen Gamari <ben@smart-cactus.org>
Thu, 21 Sep 2017 15:30:38 +0000 (11:30 -0400)
Test Plan: Validate

Reviewers: austin

Subscribers: rwbarton, thomie

GHC Trac Issues: #13929

Differential Revision: https://phabricator.haskell.org/D3993

testsuite/tests/typecheck/should_fail/T13929.hs
testsuite/tests/typecheck/should_fail/all.T

index f0a026d..10a7430 100644 (file)
@@ -28,5 +28,10 @@ instance (GUnbox f rf, GUnbox g rg) => GUnbox (f :*: g) ('TupleRep '[rf, rg]) wh
     -- if I remove implementation of `gunbox` it compiles successfully
     gunbox (x :*: y) = (# gunbox x, gunbox y #)
 
+instance (GUnbox f rf, GUnbox g rg) => GUnbox (f :+: g) ('SumRep '[rf, rg]) where
+    type GUnboxed (f :+: g) ('SumRep '[rf, rg]) = (# GUnboxed f rf | GUnboxed g rg #)
+    gunbox (L1 l) = (# gunbox l | #)
+    gunbox (R1 r) = (# | gunbox r #)
+
 main :: IO ()
 main = pure ()
index fe71e37..5079397 100644 (file)
@@ -456,5 +456,5 @@ test('T11963', normal, compile_fail, [''])
 test('T14000', normal, compile_fail, [''])
 test('T14055', normal, compile_fail, [''])
 test('T13909', normal, compile_fail, [''])
-test('T13929', normal, compile_fail, [''])
+test('T13929', expect_broken(13929), compile_fail, [''])
 test('T14232', normal, compile_fail, [''])