Skip to content

Commit

Permalink
Make OPoint call T::fmt to respect formatting modifiers (#1336)
Browse files Browse the repository at this point in the history
  • Loading branch information
kurtlawrence authored Dec 20, 2023
1 parent 1e0cb7b commit 6dce471
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/geometry/point.rs
Original file line number Diff line number Diff line change
Expand Up @@ -511,10 +511,11 @@ where

let mut it = self.coords.iter();

write!(f, "{}", *it.next().unwrap())?;
<T as fmt::Display>::fmt(it.next().unwrap(), f)?;

for comp in it {
write!(f, ", {}", *comp)?;
write!(f, ", ")?;
<T as fmt::Display>::fmt(comp, f)?;
}

write!(f, "}}")
Expand Down
8 changes: 8 additions & 0 deletions tests/geometry/point.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,11 @@ fn to_homogeneous() {

assert_eq!(a.to_homogeneous(), expected);
}

#[test]
fn display_fmt_respects_modifiers() {
let p = Point3::new(1.23, 3.45, 5.67);
assert_eq!(&format!("{p}"), "{1.23, 3.45, 5.67}");
assert_eq!(&format!("{p:.1}"), "{1.2, 3.5, 5.7}");
assert_eq!(&format!("{p:.0}"), "{1, 3, 6}");
}

0 comments on commit 6dce471

Please sign in to comment.