{-# LANGUAGE BangPatterns #-} {-# LANGUAGE LinearTypes #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE UnboxedTuples #-} {-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Packed.Internal where import GHC.Base import GHC.Exts {-# INLINE unPtr #-} unPtr :: Ptr a %1 -> Addr# unPtr :: forall a. Ptr a %1 -> Addr# unPtr (Ptr Addr# a) = Addr# a {-# INLINE unInt #-} unInt :: Int %1 -> Int# unInt :: Int %1 -> Int# unInt (I# Int# i) = Int# i {-# INLINE unsafeDupablePerformIO #-} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO :: forall a. IO a -> a unsafeDupablePerformIO (IO State# RealWorld -> (# State# RealWorld, a #) m) = case (State# RealWorld -> (# State# RealWorld, a #)) -> (# State# RealWorld, a #) forall o. (State# RealWorld -> o) -> o runRW# State# RealWorld -> (# State# RealWorld, a #) m of (# State# RealWorld _, !a a #) -> a a