From b747be3f31bc86bbf9c67243efbf05e1b995dfe5 Mon Sep 17 00:00:00 2001 From: Matthew Pickering <matthewtpickering@gmail.com> Date: Wed, 29 Apr 2020 15:08:07 +0100 Subject: [PATCH] use typecheck --- Data/Text.hs | 5 +++-- Data/Text/Lazy.hs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Data/Text.hs b/Data/Text.hs index 8b32b02c..643b1160 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 be893c4c..9e130945 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) -- GitLab