summaryrefslogtreecommitdiff
path: root/tests/examples/ghc86/Test12417.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examples/ghc86/Test12417.hs')
-rw-r--r--tests/examples/ghc86/Test12417.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/examples/ghc86/Test12417.hs b/tests/examples/ghc86/Test12417.hs
new file mode 100644
index 0000000..93c74da
--- /dev/null
+++ b/tests/examples/ghc86/Test12417.hs
@@ -0,0 +1,20 @@
+{-# LANGUAGE UnboxedSums, MagicHash #-}
+
+module Test12417 where
+
+import GHC.Prim
+import GHC.Types
+
+import System.Mem (performMajorGC)
+
+type Either1 a b = (# a | b #)
+
+showEither1 :: (Show a, Show b) => Either1 a b -> String
+showEither1 (# left | #) = "Left " ++ show left
+showEither1 (# | right #) = "Right " ++ show right
+
+type T = (# Int | Bool | String | Char | Either Int Bool | Int# | Float# #)
+
+showEither4 :: T -> String
+showEither4 (# | b | | | | | #) = "Alt1: " ++ show b
+