diff --git a/Data/Text.hs b/Data/Text.hs index 8b32b02c5370da56e1489317152c7a4c87b66862..643b11609872552fbdbcea4593d641ad89b890d2 100644 --- a/Data/Text.hs +++ b/Data/Text.hs @@ -219,7 +219,7 @@ import Control.Exception (assert) import Data.Char (isSpace) import Data.Data (Data(gfoldl, toConstr, gunfold, dataTypeOf), constrIndex, Constr, mkConstr, DataType, mkDataType, Fixity(Prefix)) -import Control.Monad (foldM) +import Control.Monad (foldM, (=<<)) import Control.Monad.ST (ST) import qualified Data.Text.Array as A import qualified Data.List as L @@ -255,6 +255,7 @@ import qualified GHC.Exts as Exts #endif import qualified Language.Haskell.TH.Lib as TH import qualified Language.Haskell.TH.Syntax as TH +import qualified Language.Haskell.TH.Lift as TH #if MIN_VERSION_base(4,7,0) import Text.Printf (PrintfArg, formatArg, formatString) #endif @@ -431,7 +432,7 @@ instance Data Text where instance TH.Lift Text where lift = TH.appE (TH.varE 'pack) . TH.stringE . unpack #if MIN_VERSION_template_haskell(2,16,0) - liftTyped = TH.unsafeTExpCoerce . TH.lift + liftTyped x = TH.typecheck =<< TH.lift x #endif #if MIN_VERSION_base(4,7,0) diff --git a/Data/Text/Lazy.hs b/Data/Text/Lazy.hs index be893c4cd960ffcb9b87e51984de184e754c1b8c..9e1309451ec4ac15a8d604b9210cb4b66ae940c6 100644 --- a/Data/Text/Lazy.hs +++ b/Data/Text/Lazy.hs @@ -211,7 +211,7 @@ module Data.Text.Lazy import Prelude (Char, Bool(..), Maybe(..), String, Eq(..), Ord(..), Ordering(..), Read(..), Show(..), (&&), (||), (+), (-), (.), ($), (++), - error, flip, fmap, fromIntegral, not, otherwise, quot) + error, flip, fmap, fromIntegral, not, otherwise, quot, (=<<)) import qualified Prelude as P import Control.DeepSeq (NFData(..)) import Data.Int (Int64) @@ -247,6 +247,7 @@ import qualified GHC.Base as GHC import qualified GHC.Exts as Exts #endif import GHC.Prim (Addr#) +import qualified Language.Haskell.TH as TH import qualified Language.Haskell.TH.Lib as TH import qualified Language.Haskell.TH.Syntax as TH #if MIN_VERSION_base(4,7,0) @@ -416,7 +417,7 @@ instance Data Text where instance TH.Lift Text where lift = TH.appE (TH.varE 'pack) . TH.stringE . unpack #if MIN_VERSION_template_haskell(2,16,0) - liftTyped = TH.unsafeTExpCoerce . TH.lift + liftTyped x = TH.typecheck =<< TH.lift x #endif #if MIN_VERSION_base(4,7,0)