TopoVec
All checks were successful
buildbot/cargo fmt (1.72) Build done.
buildbot/cargo clippy (1.65) Build done.
buildbot/cargo doc (1.72) Build done.
buildbot/cargo clippy (1.72) Build done.
buildbot/cargo test (1.65) Build done.

This commit is contained in:
AF 2023-09-03 21:29:10 +00:00
parent 59f195609e
commit 62c2192541
4 changed files with 10 additions and 8 deletions

View File

@ -45,7 +45,7 @@ pub use self::resolution::{
}; };
pub use self::singular::{SingularError, SingularResolution}; pub use self::singular::{SingularError, SingularResolution};
pub use self::to_hex::hex; pub use self::to_hex::hex;
pub use self::topology::MentionableTop; pub use self::topology::{MentionableTop, TopoVec};
/// Helper alias for [`WeakFunctor::F`] of [`FunctorContext::T`]. /// Helper alias for [`WeakFunctor::F`] of [`FunctorContext::T`].
/// ///

View File

@ -54,9 +54,3 @@ impl Display for SingularError {
} }
impl Error for SingularError {} impl Error for SingularError {}
impl<'a, Ctx: Context<'a>> PointsVisitor<'a, Ctx> for Vec<Arc<dyn SingularResolution<'a, Ctx>>> {
fn visit<A: Mentionable<'a, Ctx>>(&mut self, point: &Point<'a, Ctx, A>) {
self.push(Arc::new(point.clone()) as _);
}
}

View File

@ -19,3 +19,11 @@ pub trait MentionableTop<'a, Ctx: Context<'a>>: 'a {
where where
Self: Mentionable<'a, Ctx>; Self: Mentionable<'a, Ctx>;
} }
pub type TopoVec<'a, Ctx> = Vec<Arc<dyn SingularResolution<'a, Ctx>>>;
impl<'a, Ctx: Context<'a>> PointsVisitor<'a, Ctx> for TopoVec<'a, Ctx> {
fn visit<A: Mentionable<'a, Ctx>>(&mut self, point: &Point<'a, Ctx, A>) {
self.push(Arc::new(point.clone()) as _);
}
}

View File

@ -18,7 +18,7 @@ use super::*;
/// # } /// # }
/// ``` /// ```
pub struct SingularResolver<'a, Ctx: Context<'a>> { pub struct SingularResolver<'a, Ctx: Context<'a>> {
points: Vec<Arc<dyn SingularResolution<'a, Ctx>>>, points: TopoVec<'a, Ctx>,
} }
impl<'a, Ctx: Context<'a>> SingularResolver<'a, Ctx> { impl<'a, Ctx: Context<'a>> SingularResolver<'a, Ctx> {