binrep-0.6.0: src/Raehik/Compat/FlatParse/Basic/Prim.hs
module Raehik.Compat.FlatParse.Basic.Prim where
import Raehik.Compat.Data.Primitive.Types
import FlatParse.Basic
import GHC.Exts ( plusAddr# )
anyPrim :: forall a e st. Prim' a => ParserT st e a
anyPrim = withEnsure# size# $ ParserT $ \_fp _eob buf st ->
OK# st (indexWord8OffAddrAs# buf 0#) (buf `plusAddr#` size#)
where
size# = sizeOf# (undefined :: a)