-- Ensure that readInt and readInteger over lazy ByteStrings are not
-- excessively strict.
module Main (main) where
import Data.Vector.Storable.ByteString.Char8 (pack)
import Data.Vector.Storable.ByteString.Lazy.Char8 (readInt, readInteger)
import Data.Vector.Storable.ByteString.Lazy.Internal (ByteString(..))
main :: IO ()
main = do
let safe = Chunk (pack "1z") Empty
let unsafe = Chunk (pack "2z") undefined
print . fmap fst . readInt $ safe
print . fmap fst . readInt $ unsafe
print . fmap fst . readInteger $ safe
print . fmap fst . readInteger $ unsafe