@@ -217,7 +217,7 @@ import qualified Data.Text.Internal.Fusion as S
217import qualified Data.Text.Internal.Fusion.Common as S
217import qualified Data.Text.Internal.Fusion.Common as S
218import Data.Text.Internal.Fusion (stream, reverseStream, unstream)
218import Data.Text.Internal.Fusion (stream, reverseStream, unstream)
219import Data.Text.Internal.Private (span_)
219import Data.Text.Internal.Private (span_)
220−import Data.Text.Internal (Text(..), empty, firstf, mul, safe, text)
220+import Data.Text.Internal (Text(..), empty, empty_, firstf, mul, safe, text)
221import qualified Prelude as P
221import qualified Prelude as P
222import Data.Text.Unsafe (Iter(..), iter, iter_, lengthWord16, reverseIter,
222import Data.Text.Unsafe (Iter(..), iter, iter_, lengthWord16, reverseIter,
223 reverseIter_, unsafeHead, unsafeTail)
223 reverseIter_, unsafeHead, unsafeTail)
@@ -419,6 +419,10 @@ unpackCString# addr# = unstream (S.streamCString# addr#)
419 unstream (S.map safe (S.streamList (GHC.unpackCStringUtf8# a)))
419 unstream (S.map safe (S.streamList (GHC.unpackCStringUtf8# a)))
420 = unpackCString# a #-}
420 = unpackCString# a #-}
422+{-# RULES "TEXT empty literal"
423+ unstream (S.map safe (S.streamList []))
422-- | /O(1)/ Convert a character into a Text. Subject to fusion.
426-- | /O(1)/ Convert a character into a Text. Subject to fusion.
423-- Performs replacement on invalid scalar values.
427-- Performs replacement on invalid scalar values.
424singleton :: Char -> Text
428singleton :: Char -> Text