blob: b991f59f4079b9f0d0e9fa9ea30f81572ee4f028 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{-# LANGUAGE UnboxedSums, MagicHash #-}
module Test12417 where
import GHC.Exts
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
|