on master help sign in
Add `PrintfArg` instances for `Text` (strict and lazy).
93e3705Alois Cochard
Data/Text.hs+4
@@ -237,6 +237,7 @@ import Data.Int (Int64)
237#if __GLASGOW_HASKELL__ >= 708
237#if __GLASGOW_HASKELL__ >= 708
238import qualified GHC.Exts as Exts
238import qualified GHC.Exts as Exts
239#endif
239#endif
240+import Text.Printf (PrintfArg, formatArg, formatString)
240
241
241-- $strict
242-- $strict
242--
243--
@@ -371,6 +372,9 @@ instance Data Text where
371 _ -> P.error "gunfold"
372 _ -> P.error "gunfold"
372 dataTypeOf _ = textDataType
373 dataTypeOf _ = textDataType
373
374
375+instance PrintfArg Text where
376+ formatArg txt = formatString $ unpack txt
377+
374packConstr :: Constr
378packConstr :: Constr
375packConstr = mkConstr textDataType "pack" [] Prefix
379packConstr = mkConstr textDataType "pack" [] Prefix
376
380
Data/Text/Lazy.hs+4
@@ -237,6 +237,7 @@ import qualified GHC.Base as GHC
237import qualified GHC.Exts as Exts
237import qualified GHC.Exts as Exts
238#endif
238#endif
239import GHC.Prim (Addr#)
239import GHC.Prim (Addr#)
240+import Text.Printf (PrintfArg, formatArg, formatString)
240
241
241-- $fusion
242-- $fusion
242--
243--
@@ -372,6 +373,9 @@ instance Data Text where
372 _ -> error "Data.Text.Lazy.Text.gunfold"
373 _ -> error "Data.Text.Lazy.Text.gunfold"
373 dataTypeOf _ = textDataType
374 dataTypeOf _ = textDataType
374
375
376+instance PrintfArg Text where
377+ formatArg txt = formatString $ unpack txt
378+
375packConstr :: Constr
379packConstr :: Constr
376packConstr = mkConstr textDataType "pack" [] Prefix
380packConstr = mkConstr textDataType "pack" [] Prefix
377
381