ugly hack to convert BadHashMapKey error to general fmt::Error

This commit is contained in:
Oliver 'ker' Schneider
2015-01-10 10:13:11 +01:00
committed by Oliver Schneider
parent 0478a8c1d7
commit a320149dcc
+20 -5
View File
@@ -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 @@ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
Some(n) => encoder.set_indent(n),
None => {}
}
self.inner.encode(&mut encoder)
match self.inner.encode(&mut encoder) {
Ok(_) => Ok(()),
Err(_) => Err(fmt::Error)
}
}
}