[commit: ghc] ghc-8.2: Typeable: Always use UTF-8 string unpacking primitive (0ee8420)
git at git.haskell.org
git at git.haskell.org
Wed Jul 19 23:24:12 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.2
Link : http://ghc.haskell.org/trac/ghc/changeset/0ee84202d6d051538582692e686a6b2a5a1b450f/ghc
>---------------------------------------------------------------
commit 0ee84202d6d051538582692e686a6b2a5a1b450f
Author: Ben Gamari <bgamari.foss at gmail.com>
Date: Tue Jul 18 17:50:07 2017 -0400
Typeable: Always use UTF-8 string unpacking primitive
Reviewers: austin, hvr
Subscribers: Phyx, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D3734
(cherry picked from commit 6ab3c5fdd7d292deb65a3174eb298aa4b2348e32)
>---------------------------------------------------------------
0ee84202d6d051538582692e686a6b2a5a1b450f
libraries/base/Data/Typeable/Internal.hs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libraries/base/Data/Typeable/Internal.hs b/libraries/base/Data/Typeable/Internal.hs
index cf645ad..cf3ea07 100644
--- a/libraries/base/Data/Typeable/Internal.hs
+++ b/libraries/base/Data/Typeable/Internal.hs
@@ -117,7 +117,7 @@ tyConName :: TyCon -> String
tyConName (TyCon _ _ _ n _ _) = trNameString n
trNameString :: TrName -> String
-trNameString (TrNameS s) = unpackCString# s
+trNameString (TrNameS s) = unpackCStringUtf8# s
trNameString (TrNameD s) = s
tyConFingerprint :: TyCon -> Fingerprint
@@ -361,7 +361,7 @@ instantiateKindRep vars = go
= SomeTypeRep $ Fun (unsafeCoerceRep $ go a) (unsafeCoerceRep $ go b)
go (KindRepTYPE r) = unkindedTypeRep $ tYPE `kApp` runtimeRepTypeRep r
go (KindRepTypeLitS sort s)
- = mkTypeLitFromString sort (unpackCString# s)
+ = mkTypeLitFromString sort (unpackCStringUtf8# s)
go (KindRepTypeLitD sort s)
= mkTypeLitFromString sort s
@@ -569,7 +569,7 @@ pattern KindRepTypeLit sort t <- (getKindRepTypeLit -> Just (sort, t))
KindRepTYPE, KindRepTypeLit #-}
getKindRepTypeLit :: KindRep -> Maybe (TypeLitSort, String)
-getKindRepTypeLit (KindRepTypeLitS sort t) = Just (sort, unpackCString# t)
+getKindRepTypeLit (KindRepTypeLitS sort t) = Just (sort, unpackCStringUtf8# t)
getKindRepTypeLit (KindRepTypeLitD sort t) = Just (sort, t)
getKindRepTypeLit _ = Nothing
@@ -586,9 +586,9 @@ mkTyCon# pkg modl name n_kinds kind_rep
where
mod = Module (TrNameS pkg) (TrNameS modl)
fingerprint :: Fingerprint
- fingerprint = mkTyConFingerprint (unpackCString# pkg)
- (unpackCString# modl)
- (unpackCString# name)
+ fingerprint = mkTyConFingerprint (unpackCStringUtf8# pkg)
+ (unpackCStringUtf8# modl)
+ (unpackCStringUtf8# name)
-- it is extremely important that this fingerprint computation
-- remains in sync with that in TcTypeable to ensure that type
More information about the ghc-commits
mailing list