From 83f9296a4f2229ab898fc1e89e7efc2171e4e362 Mon Sep 17 00:00:00 2001 From: timofey Date: Sun, 7 May 2023 16:54:54 +0000 Subject: [PATCH] move `points_vec` out of `Mentionable` --- src/core.rs | 7 +++++++ src/core/typeless.rs | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core.rs b/src/core.rs index a9afeea..8471a6f 100644 --- a/src/core.rs +++ b/src/core.rs @@ -74,7 +74,14 @@ pub trait Mentionable<'a, Ctx: 'a + Context>: 'a + Serializable { fn points_typed(&self, points: &mut impl TakesPoints<'a, Ctx>); /// References ([Point]s) to other objects. Typeless. fn points(&self, points: &mut Vec>>); +} + +pub trait MentionableExt<'a, Ctx: 'a + Context>: Mentionable<'a, Ctx> { /// [Vec] of [Point]s as used by [`Mentionable::topology`]. + fn points_vec(&self) -> Vec>>; +} + +impl<'a, Ctx: 'a + Context, A: Mentionable<'a, Ctx>> MentionableExt<'a, Ctx> for A { fn points_vec(&self) -> Vec>> { let mut points = Vec::new(); self.points(&mut points); diff --git a/src/core/typeless.rs b/src/core/typeless.rs index f80534e..38f11ec 100644 --- a/src/core/typeless.rs +++ b/src/core/typeless.rs @@ -65,10 +65,6 @@ impl<'a, Ctx: 'a + Context> Mentionable<'a, Ctx> for TypelessMentionable<'a, Ctx fn points(&self, points: &mut Vec>>) { points.extend(self.t_points.iter().map(Clone::clone)); } - - fn points_vec(&self) -> Vec>> { - self.t_points.clone() - } } impl<'a, Ctx: 'a + Context> Clone for TypelessFactory<'a, Ctx> {