summaryrefslogtreecommitdiff
path: root/tests/examples/ghc86/Test12417.hs
diff options
context:
space:
mode:
authorAlanZimmerman <>2018-07-11 21:23:00 (GMT)
committerhdiff <hdiff@hdiff.luite.com>2018-07-11 21:23:00 (GMT)
commitacc46b7da4e695bf357c5fb5f311382686c1d105 (patch)
treebc910d39de1e7435ede8d8fbb6b8c28ac36f01c3 /tests/examples/ghc86/Test12417.hs
parentb6934f22d6668ed1ee60bca7a5382e4288426984 (diff)
version 0.5.7.00.5.7.0
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
+