From 2f8051135fa46b19812e46469f2b630ee9f7414c Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 22 Apr 2017 15:05:51 -0700 Subject: [PATCH] Couple more tweaks to number printing --- types/src/number/mod.rs | 6 ++---- types/src/number/real.rs | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/types/src/number/mod.rs b/types/src/number/mod.rs index 263438d..4f9a467 100644 --- a/types/src/number/mod.rs +++ b/types/src/number/mod.rs @@ -66,10 +66,8 @@ impl Number { impl fmt::Display for Number { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.real).and_then(|r| match self.imag { - Some(ref imag) => write!(f, "{}i", imag), - None => Ok(r), - }) + write!(f, "{}", self.real).and_then( + |r| self.imag.map(|i| write!(f, "{:+}i", i)).unwrap_or(Ok(r))) } } diff --git a/types/src/number/real.rs b/types/src/number/real.rs index 871f2db..21afb9a 100644 --- a/types/src/number/real.rs +++ b/types/src/number/real.rs @@ -130,6 +130,7 @@ impl PartialEq for Real { impl fmt::Display for Real { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + // TODO: Figure out how to print the sign if `f.sign_plus() == true`. match *self { Real::Integer(v) => write!(f, "{}", v), Real::Rational(p, q) => write!(f, "{}/{}", p, q),