vext-0.1.0.0: src-imp/EmptyPrimArray.hs
{-# language BangPatterns #-}
{-# language MagicHash #-}
{-# language RankNTypes #-}
{-# language TypeApplications #-}
{-# language TypeFamilies #-}
{-# language TypeInType #-}
{-# language StandaloneKindSignatures #-}
{-# language UnboxedTuples #-}
module EmptyPrimArray
( emptyPrimArray#
) where
import Data.Unlifted (PrimArray#(..))
import GHC.Exts (RuntimeRep,TYPE)
import qualified GHC.Exts as Exts
emptyPrimArray# :: forall (r :: RuntimeRep) (a :: TYPE r). (# #) -> PrimArray# a
emptyPrimArray# _ =
let !(# _, z #) = Exts.runRW#
(\s -> case Exts.newByteArray# 0# s of
(# s', x #) -> Exts.unsafeFreezeByteArray# x s'
)
in PrimArray# z