src/loc.rs

branch
dev
changeset 43
239aa32f0e7d
parent 35
3b82a9d16307
child 52
c70b575d22b6
child 81
d2acaaddd9af
--- a/src/loc.rs	Mon Oct 21 09:11:34 2024 -0500
+++ b/src/loc.rs	Mon Oct 21 09:59:45 2024 -0500
@@ -5,6 +5,7 @@
 
 use std::ops::{Add,Sub,AddAssign,SubAssign,Mul,Div,MulAssign,DivAssign,Neg,Index,IndexMut};
 use std::slice::{Iter,IterMut};
+use std::fmt::{Display, Formatter};
 use crate::types::{Float,Num,SignedNum};
 use crate::maputil::{FixedLength,FixedLengthMut,map1,map2,map1_mut,map2_mut};
 use crate::euclidean::*;
@@ -22,6 +23,19 @@
     pub [F; N]
 );
 
+impl<F : Display, const N : usize> Display for Loc<F, N>{
+    // Required method
+    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
+         write!(f, "[")?;
+         let mut comma = "";
+         for e in self.iter() {
+            write!(f, "{comma}{e}")?;
+            comma = ", ";
+         }
+         write!(f, "]")
+    }
+}
+
 // Need to manually implement as [F; N] serialisation is provided only for some N.
 impl<F, const N : usize> Serialize for Loc<F, N>
 where

mercurial