@@ -400,6 +400,7 @@ stringLiteral pss | Just s <- decodeString pss =
400 stringLiteral' :: Text -> Text
400 stringLiteral' :: Text -> Text
401 stringLiteral' s = "\"" <> T.concatMap encodeChar s <> "\""
401 stringLiteral' s = "\"" <> T.concatMap encodeChar s <> "\""
402 encodeChar :: Char -> Text
402 encodeChar :: Char -> Text
403+ encodeChar '\0' = "\\0"
403 encodeChar '\b' = "\\b"
404 encodeChar '\b' = "\\b"
404 encodeChar '\t' = "\\t"
405 encodeChar '\t' = "\\t"
405 encodeChar '\n' = "\\n"
406 encodeChar '\n' = "\\n"
@@ -409,6 +410,7 @@ stringLiteral pss | Just s <- decodeString pss =
409 encodeChar '"' = "\\\""
410 encodeChar '"' = "\\\""
410 encodeChar '\\' = "\\\\"
411 encodeChar '\\' = "\\\\"
411 encodeChar c = T.singleton $ c
412 encodeChar c = T.singleton $ c
413+stringLiteral _ = "\"\\uFFFD\""
413unbox :: Text -> AST -> Text
415unbox :: Text -> AST -> Text
414unbox _ v@(NumericLiteral{}) = prettyPrintCpp1 v
416unbox _ v@(NumericLiteral{}) = prettyPrintCpp1 v