From ad2c7b4e9aea783646344822368b28f72a9dbe3d Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Fri, 17 Jan 2025 20:00:57 +0100 Subject: [PATCH] Lift `fmt::Display` requirement of `Operations` --- experiments/2024-12-09/src/geometry/operation.rs | 10 ++-------- experiments/2024-12-09/src/geometry/shape.rs | 14 -------------- experiments/2024-12-09/src/geometry/triangle.rs | 8 -------- experiments/2024-12-09/src/topology/face.rs | 8 -------- experiments/2024-12-09/src/topology/vertex.rs | 9 --------- experiments/2024-12-09/src/view.rs | 8 +------- 6 files changed, 3 insertions(+), 54 deletions(-) diff --git a/experiments/2024-12-09/src/geometry/operation.rs b/experiments/2024-12-09/src/geometry/operation.rs index a513780f7..dd5a3e6b8 100644 --- a/experiments/2024-12-09/src/geometry/operation.rs +++ b/experiments/2024-12-09/src/geometry/operation.rs @@ -1,8 +1,8 @@ -use std::{fmt, ops::Deref, rc::Rc}; +use std::{ops::Deref, rc::Rc}; use super::tri_mesh::TriMesh; -pub trait Operation: fmt::Display { +pub trait Operation { fn label(&self) -> &'static str; fn tri_mesh(&self) -> TriMesh; fn children(&self) -> Vec; @@ -62,12 +62,6 @@ impl AnyOp { } } -impl fmt::Display for AnyOp { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.inner) - } -} - impl Operation for AnyOp { fn label(&self) -> &'static str { self.inner.label() diff --git a/experiments/2024-12-09/src/geometry/shape.rs b/experiments/2024-12-09/src/geometry/shape.rs index 5bcb2b606..ac3f7a586 100644 --- a/experiments/2024-12-09/src/geometry/shape.rs +++ b/experiments/2024-12-09/src/geometry/shape.rs @@ -1,5 +1,3 @@ -use std::fmt; - use tuples::CombinRight; use crate::storage::Store; @@ -24,12 +22,6 @@ impl Shape { } } -impl fmt::Display for Shape { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "shape") - } -} - impl Operation for Shape { fn label(&self) -> &'static str { "Shape" @@ -77,12 +69,6 @@ impl Operation for OperationInSequence { } } -impl fmt::Display for OperationInSequence { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - self.operation.fmt(f) - } -} - pub struct ShapeExtender<'r, NewOps, T> { store: &'r mut Store, sequence: &'r mut Vec, diff --git a/experiments/2024-12-09/src/geometry/triangle.rs b/experiments/2024-12-09/src/geometry/triangle.rs index 2b8cac266..20bef1896 100644 --- a/experiments/2024-12-09/src/geometry/triangle.rs +++ b/experiments/2024-12-09/src/geometry/triangle.rs @@ -1,5 +1,3 @@ -use std::fmt; - use crate::math::Point; use super::{operation::AnyOp, Operation, TriMesh}; @@ -20,12 +18,6 @@ where } } -impl fmt::Display for Triangle { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "triangle") - } -} - impl Operation for Triangle { fn label(&self) -> &'static str { "Triangle" diff --git a/experiments/2024-12-09/src/topology/face.rs b/experiments/2024-12-09/src/topology/face.rs index d8912a950..3e1433f1a 100644 --- a/experiments/2024-12-09/src/topology/face.rs +++ b/experiments/2024-12-09/src/topology/face.rs @@ -1,5 +1,3 @@ -use std::fmt; - use spade::Triangulation; use crate::{ @@ -40,12 +38,6 @@ impl Face { } } -impl fmt::Display for Face { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "face") - } -} - impl Operation for Face { fn label(&self) -> &'static str { "Face" diff --git a/experiments/2024-12-09/src/topology/vertex.rs b/experiments/2024-12-09/src/topology/vertex.rs index 73bc1b7b8..6f488a2ff 100644 --- a/experiments/2024-12-09/src/topology/vertex.rs +++ b/experiments/2024-12-09/src/topology/vertex.rs @@ -1,5 +1,3 @@ -use std::fmt; - use crate::{ geometry::{AnyOp, Operation, TriMesh}, math::Point, @@ -21,13 +19,6 @@ where } } -impl fmt::Display for Vertex { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let [x, y, z] = self.point.coords.components.map(|s| s.value()); - write!(f, "vertex {x:.2}, {y:.2}, {z:.2}") - } -} - impl Operation for Vertex { fn label(&self) -> &'static str { "Vertex" diff --git a/experiments/2024-12-09/src/view.rs b/experiments/2024-12-09/src/view.rs index 60435cd67..14de9ac12 100644 --- a/experiments/2024-12-09/src/view.rs +++ b/experiments/2024-12-09/src/view.rs @@ -1,4 +1,4 @@ -use std::{fmt, iter}; +use std::iter; use crate::geometry::{AnyOp, Operation, TriMesh}; @@ -121,12 +121,6 @@ impl OperationView { } } -impl fmt::Display for OperationView { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{}", self.operation) - } -} - impl Operation for OperationView { fn label(&self) -> &'static str { self.operation.label()