diff options
Diffstat (limited to 'src/libserialize/json.rs')
| -rw-r--r-- | src/libserialize/json.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs index 422914b1405..e6f46ea7159 100644 --- a/src/libserialize/json.rs +++ b/src/libserialize/json.rs @@ -425,7 +425,9 @@ impl<'a> ::Encoder<io::IoError> for Encoder<'a> { } fn emit_f32(&mut self, v: f32) -> EncodeResult { self.emit_f64(v as f64) } - fn emit_char(&mut self, v: char) -> EncodeResult { self.emit_str(str::from_char(v)) } + fn emit_char(&mut self, v: char) -> EncodeResult { + self.emit_str(str::from_char(v).as_slice()) + } fn emit_str(&mut self, v: &str) -> EncodeResult { write!(self.wr, "{}", escape_str(v)) } @@ -614,9 +616,13 @@ impl<'a> ::Encoder<io::IoError> for PrettyEncoder<'a> { fn emit_f64(&mut self, v: f64) -> EncodeResult { write!(self.wr, "{}", f64::to_str_digits(v, 6u)) } - fn emit_f32(&mut self, v: f32) -> EncodeResult { self.emit_f64(v as f64) } + fn emit_f32(&mut self, v: f32) -> EncodeResult { + self.emit_f64(v as f64) + } - fn emit_char(&mut self, v: char) -> EncodeResult { self.emit_str(str::from_char(v)) } + fn emit_char(&mut self, v: char) -> EncodeResult { + self.emit_str(str::from_char(v).as_slice()) + } fn emit_str(&mut self, v: &str) -> EncodeResult { write!(self.wr, "{}", escape_str(v)) } |
