@@ -190,11 +190,28 @@ inspect $ 'copyStream `hasNoType` ''AT.ArrayUnsafe -- FH.write/writeNUnsafe
190190inspect $ 'copyStream `hasNoType` ''Strict.Tuple3' -- FH.write/lchunksOf
191191#endif
192192
193−-- | Copy file
193+-- | Copy file (encodeLatin1')
194+copyStreamLatin1' :: Handle -> Handle -> IO ()
195+copyStreamLatin1' inh outh =
196+ S.fold (FH.write outh)
197+ $ SS.encodeLatin1'
198+ $ SS.decodeLatin1
199+ $ S.unfold FH.read inh
200+
201+#ifdef INSPECTION
202+inspect $ hasNoTypeClasses 'copyStreamLatin1'
203+inspect $ 'copyStreamLatin1' `hasNoType` ''Step
204+inspect $ 'copyStreamLatin1' `hasNoType` ''IUF.ConcatState -- FH.read/UF.concat
205+inspect $ 'copyStreamLatin1' `hasNoType` ''A.ReadUState -- FH.read/A.read
206+inspect $ 'copyStreamLatin1' `hasNoType` ''AT.ArrayUnsafe -- FH.write/writeNUnsafe
207+inspect $ 'copyStreamLatin1' `hasNoType` ''Strict.Tuple3' -- FH.write/lchunksOf
208+#endif
209+
210+-- | Copy file (encodeLatin1)
194211copyStreamLatin1 :: Handle -> Handle -> IO ()
195212copyStreamLatin1 inh outh =
196213 S.fold (FH.write outh)
197− $ SS.encodeLatin1'
214+ $ SS.encodeLatin1
198215 $ SS.decodeLatin1
199216 $ S.unfold FH.read inh
200217
@@ -246,6 +263,8 @@ o_1_space_copy_read env =
246263 copyStream inh outh
247264 -- This needs an ascii file, as decode just errors out.
248265 , mkBench "SS.encodeLatin1' . SS.decodeLatin1" env $ \inh outh ->
266+ copyStreamLatin1' inh outh
267+ , mkBench "SS.encodeLatin1 . SS.decodeLatin1" env $ \inh outh ->
249268 copyStreamLatin1 inh outh
250269#ifdef DEVBUILD
251270 , mkBench "copyUtf8" env $ \inh outh ->