about summary refs log tree commit diff
path: root/src/libextra/json.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-06-11 19:13:42 -0700
committerCorey Richardson <corey@octayn.net>2013-06-28 10:44:16 -0400
commita1531ed946e2d650fc6cb5af6258fed8003e9443 (patch)
tree8f629d34e6cb62bd9a5a2ef22656075715446c0e /src/libextra/json.rs
parent3fcd4dca301d01c41a7db7f9023bc11be1025fc7 (diff)
downloadrust-a1531ed946e2d650fc6cb5af6258fed8003e9443.tar.gz
rust-a1531ed946e2d650fc6cb5af6258fed8003e9443.zip
librustc: Remove the broken overloaded assign-ops from the language.
They evaluated the receiver twice. They should be added back with
`AddAssign`, `SubAssign`, etc., traits.
Diffstat (limited to 'src/libextra/json.rs')
-rw-r--r--src/libextra/json.rs22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/libextra/json.rs b/src/libextra/json.rs
index 15553b035f6..a71be18174a 100644
--- a/src/libextra/json.rs
+++ b/src/libextra/json.rs
@@ -60,25 +60,27 @@ fn escape_str(s: &str) -> ~str {
     let mut escaped = ~"\"";
     for s.iter().advance |c| {
         match c {
-          '"' => escaped += "\\\"",
-          '\\' => escaped += "\\\\",
-          '\x08' => escaped += "\\b",
-          '\x0c' => escaped += "\\f",
-          '\n' => escaped += "\\n",
-          '\r' => escaped += "\\r",
-          '\t' => escaped += "\\t",
-          _ => escaped += str::from_char(c)
+          '"' => escaped.push_str("\\\""),
+          '\\' => escaped.push_str("\\\\"),
+          '\x08' => escaped.push_str("\\b"),
+          '\x0c' => escaped.push_str("\\f"),
+          '\n' => escaped.push_str("\\n"),
+          '\r' => escaped.push_str("\\r"),
+          '\t' => escaped.push_str("\\t"),
+          _ => escaped.push_char(c),
         }
     };
 
-    escaped += "\"";
+    escaped.push_char('"');
 
     escaped
 }
 
 fn spaces(n: uint) -> ~str {
     let mut ss = ~"";
-    for n.times { ss.push_str(" "); }
+    for n.times {
+        ss.push_str(" ");
+    }
     return ss;
 }