diff options
| author | Oliver 'ker' Schneider <rust19446194516@oli-obk.de> | 2015-01-10 10:13:11 +0100 |
|---|---|---|
| committer | Oliver Schneider <git1984941651981@oli-obk.de> | 2015-01-19 14:22:17 +0100 |
| commit | a320149dcce2eb27d3014113cbf87aacc04d24eb (patch) | |
| tree | 30d6e774c468374501ce1dda0134570b11724fdd /src/libserialize | |
| parent | 0478a8c1d73ab936bcfb762ce8f31ab9f642f462 (diff) | |
| download | rust-a320149dcce2eb27d3014113cbf87aacc04d24eb.tar.gz rust-a320149dcce2eb27d3014113cbf87aacc04d24eb.zip | |
ugly hack to convert BadHashMapKey error to general fmt::Error
Diffstat (limited to 'src/libserialize')
| -rw-r--r-- | src/libserialize/json.rs | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs index 0364d9544b1..77e1ebc5ef3 100644 --- a/src/libserialize/json.rs +++ b/src/libserialize/json.rs @@ -2512,7 +2512,10 @@ struct FormatShim<'a, 'b: 'a> { impl<'a, 'b> fmt::Writer for FormatShim<'a, 'b> { fn write_str(&mut self, s: &str) -> fmt::Result { - self.inner.write_str(s) + match self.inner.write_str(s) { + Ok(_) => Ok(()), + Err(_) => Err(fmt::Error) + } } } @@ -2521,7 +2524,10 @@ impl fmt::String for Json { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let mut shim = FormatShim { inner: f }; let mut encoder = Encoder::new(&mut shim); - self.encode(&mut encoder) + match self.encode(&mut encoder) { + Ok(_) => Ok(()), + Err(_) => Err(fmt::Error) + } } } @@ -2530,7 +2536,10 @@ impl<'a> fmt::String for PrettyJson<'a> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let mut shim = FormatShim { inner: f }; let mut encoder = PrettyEncoder::new(&mut shim); - self.inner.encode(&mut encoder) + match self.inner.encode(&mut encoder) { + Ok(_) => Ok(()), + Err(_) => Err(fmt::Error) + } } } @@ -2539,7 +2548,10 @@ impl<'a, T: Encodable> fmt::String for AsJson<'a, T> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let mut shim = FormatShim { inner: f }; let mut encoder = Encoder::new(&mut shim); - self.inner.encode(&mut encoder) + match self.inner.encode(&mut encoder) { + Ok(_) => Ok(()), + Err(_) => Err(fmt::Error) + } } } @@ -2560,7 +2572,10 @@ impl<'a, T: Encodable> fmt::String for AsPrettyJson<'a, T> { Some(n) => encoder.set_indent(n), None => {} } - self.inner.encode(&mut encoder) + match self.inner.encode(&mut encoder) { + Ok(_) => Ok(()), + Err(_) => Err(fmt::Error) + } } } |
