summaryrefslogtreecommitdiff
path: root/testsuite/tests/unboxedsums/module/Lib.hs
blob: 569da49b7fafe43b4716a91c9d2e61f4de8063e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# LANGUAGE UnboxedSums, MagicHash #-}

module Lib (flip, getInt) where

import GHC.Exts
import Prelude (Int)

{-# NOINLINE flip #-}
flip :: (# Int | Int# #) -> (# Int# | Int #)
flip (# i | #) = (# | i #)
flip (# | i #) = (# i | #)

{-# NOINLINE getInt #-}
getInt :: (# Int# | Int #) -> Int
getInt (# i | #) = I# i
getInt (# | i #) = i