diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-03-02 15:45:01 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-03-02 15:45:01 +0100 |
| commit | 45abcf6b2bc247c8c0cba79eb1b0bc36a5d1df43 (patch) | |
| tree | 3dc454557219d08176d14af052a1c8c68ea82ec0 /src | |
| parent | 36adbe4b80e57613244adb87301c81c0a23f67f7 (diff) | |
Remove dependencies on itoa and ryu ⬇️
Diffstat (limited to 'src')
| -rw-r--r-- | src/geom/angle.rs | 5 | ||||
| -rw-r--r-- | src/geom/length.rs | 11 | ||||
| -rw-r--r-- | src/geom/relative.rs | 2 | ||||
| -rw-r--r-- | src/pretty.rs | 26 |
4 files changed, 18 insertions, 26 deletions
diff --git a/src/geom/angle.rs b/src/geom/angle.rs index 07471a02..2392efa5 100644 --- a/src/geom/angle.rs +++ b/src/geom/angle.rs @@ -58,14 +58,13 @@ impl Display for Angle { fn fmt(&self, f: &mut Formatter) -> fmt::Result { // Format with the unit that yields the shortest output, preferring // degrees when tied. - let mut buf = ryu::Buffer::new(); let unit = [AngularUnit::Deg, AngularUnit::Rad] .iter() .copied() - .min_by_key(|&unit| buf.format(self.to_unit(unit)).len()) + .min_by_key(|&unit| self.to_unit(unit).to_string().len()) .unwrap(); - write!(f, "{}{}", buf.format(self.to_unit(unit)), unit) + write!(f, "{}{}", self.to_unit(unit), unit) } } diff --git a/src/geom/length.rs b/src/geom/length.rs index b0ca24df..bc836810 100644 --- a/src/geom/length.rs +++ b/src/geom/length.rs @@ -108,14 +108,13 @@ impl Display for Length { // Format with the unit that yields the shortest output, preferring // larger / metric units when tied. - let mut buf = ryu::Buffer::new(); let unit = [Cm, Mm, In, Pt] .iter() .copied() - .min_by_key(|&unit| buf.format(self.to_unit(unit)).len()) + .min_by_key(|&unit| self.to_unit(unit).to_string().len()) .unwrap(); - write!(f, "{}{}", buf.format(self.to_unit(unit)), unit) + write!(f, "{}{}", self.to_unit(unit), unit) } } @@ -239,9 +238,9 @@ mod tests { #[test] fn test_length_formatting() { - assert_eq!(Length::pt(23.0).to_string(), "23.0pt"); - assert_eq!(Length::pt(-28.3465).to_string(), "-1.0cm"); + assert_eq!(Length::pt(23.0).to_string(), "23pt"); + assert_eq!(Length::pt(-28.3465).to_string(), "-1cm"); assert_eq!(Length::cm(12.728).to_string(), "12.728cm"); - assert_eq!(Length::cm(4.5).to_string(), "4.5cm"); + assert_eq!(Length::cm(4.5).to_string(), "45mm"); } } diff --git a/src/geom/relative.rs b/src/geom/relative.rs index 0eca911e..9d7b3d3e 100644 --- a/src/geom/relative.rs +++ b/src/geom/relative.rs @@ -42,7 +42,7 @@ impl Relative { impl Display for Relative { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "{}%", ryu::Buffer::new().format(100.0 * self.0)) + write!(f, "{}%", 100.0 * self.0) } } diff --git a/src/pretty.rs b/src/pretty.rs index 0899824a..86919ac8 100644 --- a/src/pretty.rs +++ b/src/pretty.rs @@ -240,15 +240,9 @@ impl Pretty for LitKind { Self::Bool(v) => v.pretty(p), Self::Int(v) => v.pretty(p), Self::Float(v) => v.pretty(p), - Self::Length(v, u) => { - write!(p, "{}{}", ryu::Buffer::new().format(*v), u).unwrap(); - } - Self::Angle(v, u) => { - write!(p, "{}{}", ryu::Buffer::new().format(*v), u).unwrap(); - } - Self::Percent(v) => { - write!(p, "{}%", ryu::Buffer::new().format(*v)).unwrap(); - } + Self::Length(v, u) => write!(p, "{}{}", v, u).unwrap(), + Self::Angle(v, u) => write!(p, "{}{}", v, u).unwrap(), + Self::Percent(v) => write!(p, "{}%", v).unwrap(), Self::Color(v) => v.pretty(p), Self::Str(v) => v.pretty(p), } @@ -561,13 +555,13 @@ impl Pretty for ValueArg { impl Pretty for i64 { fn pretty(&self, p: &mut Printer) { - p.push_str(itoa::Buffer::new().format(*self)); + write!(p, "{}", self).unwrap(); } } impl Pretty for f64 { fn pretty(&self, p: &mut Printer) { - p.push_str(ryu::Buffer::new().format(*self)); + write!(p, "{}", self).unwrap(); } } @@ -681,9 +675,9 @@ mod tests { roundtrip("{true}"); roundtrip("{10}"); roundtrip("{3.14}"); - roundtrip("{10.0pt}"); + roundtrip("{10pt}"); roundtrip("{14.1deg}"); - roundtrip("{20.0%}"); + roundtrip("{20%}"); roundtrip("{#abcdef}"); roundtrip(r#"{"hi"}"#); test_parse(r#"{"let's \" go"}"#, r#"{"let's \" go"}"#); @@ -749,9 +743,9 @@ mod tests { test_value(12i64, "12"); test_value(3.14, "3.14"); test_value(Length::pt(5.5), "5.5pt"); - test_value(Angle::deg(90.0), "90.0deg"); - test_value(Relative::ONE / 2.0, "50.0%"); - test_value(Relative::new(0.3) + Length::cm(2.0), "30.0% + 2.0cm"); + test_value(Angle::deg(90.0), "90deg"); + test_value(Relative::ONE / 2.0, "50%"); + test_value(Relative::new(0.3) + Length::cm(2.0), "30% + 2cm"); test_value(Color::Rgba(RgbaColor::new(1, 1, 1, 0xff)), "#010101"); test_value("hello", r#""hello""#); test_value("\n", r#""\n""#); |
