summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2022-10-08 11:12:36 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-10-10 23:16:11 -0400
commited4b5885bdac7b986655bb40f8c9ece2f8735c98 (patch)
tree2dd28f7705c5e2165ae5fc555f11cf85f80119b9
parent96d32ff289f87b8c78f0a8d1b11295c9563ec020 (diff)
downloadhaskell-ed4b5885bdac7b986655bb40f8c9ece2f8735c98.tar.gz
Utils.JSON: do not escapeJsonString in ToJson String instance
as `escapeJsonString` is used in `renderJSON`, so the `JSString` constructor is meant to carry the unescaped string.
-rw-r--r--compiler/GHC/Utils/Json.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/Utils/Json.hs b/compiler/GHC/Utils/Json.hs
index 3654ccd8b7..acccc88658 100644
--- a/compiler/GHC/Utils/Json.hs
+++ b/compiler/GHC/Utils/Json.hs
@@ -14,6 +14,7 @@ data JsonDoc where
JSBool :: Bool -> JsonDoc
JSInt :: Int -> JsonDoc
JSString :: String -> JsonDoc
+ -- ^ The 'String' is unescaped
JSArray :: [JsonDoc] -> JsonDoc
JSObject :: [(String, JsonDoc)] -> JsonDoc
@@ -57,7 +58,7 @@ class ToJson a where
json :: a -> JsonDoc
instance ToJson String where
- json = JSString . escapeJsonString
+ json = JSString
instance ToJson Int where
json = JSInt