Add an expect_broken test for #14185
authorKrzysztof Gogolewski <krz.gogolewski@gmail.com>
Thu, 26 Jul 2018 21:20:29 +0000 (17:20 -0400)
committerBen Gamari <ben@smart-cactus.org>
Fri, 27 Jul 2018 16:29:39 +0000 (12:29 -0400)
Test Plan: validate

Reviewers: goldfire, bgamari, alpmestan

Reviewed By: alpmestan

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #14185

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

testsuite/tests/typecheck/should_compile/T14185.hs [new file with mode: 0644]
testsuite/tests/typecheck/should_compile/all.T

diff --git a/testsuite/tests/typecheck/should_compile/T14185.hs b/testsuite/tests/typecheck/should_compile/T14185.hs
new file mode 100644 (file)
index 0000000..41e47d2
--- /dev/null
@@ -0,0 +1,30 @@
+{-# LANGUAGE MagicHash, UnboxedTuples, MultiParamTypeClasses, TypeFamilies,
+  FunctionalDependencies, KindSignatures, PolyKinds, DataKinds,
+  UndecidableInstances #-}
+module T14185 where
+
+import GHC.Types
+import GHC.Prim
+
+
+class Unbox (t :: *) (r :: TYPE k) | t -> r, r -> t where
+  unbox :: t -> r
+  box :: r -> t
+
+instance Unbox Int Int# where
+  unbox (I# i) = i
+  box i = I# i
+
+instance Unbox Char Char# where
+  unbox (C# c) = c
+  box c = C# c
+
+instance (Unbox a a', Unbox b b') => Unbox (a,b) (# a', b' #) where
+  unbox (a,b) = (# unbox a, unbox b #)
+  box (# a, b #) = (box a, box b)
+
+testInt :: Int
+testInt = box (unbox 1)
+
+testTup :: (Int, Char)
+testTup = box (unbox (1, 'a'))
index dfa8520..2fb5429 100644 (file)
@@ -625,6 +625,7 @@ test('T14735', normal, compile, [''])
 test('T15180', normal, compile, [''])
 test('T15232', normal, compile, [''])
 test('T13833', normal, compile, [''])
+test('T14185', expect_broken(14185), compile, [''])
 
 def onlyHsParLocs(x): 
     """