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::to_hex::hex;
pub use self::topology::MentionableTop;
pub use self::topology::{MentionableTop, TopoVec};
/// Helper alias for [`WeakFunctor::F`] of [`FunctorContext::T`].
///

View File

@ -54,9 +54,3 @@ impl Display 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
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>> {
points: Vec<Arc<dyn SingularResolution<'a, Ctx>>>,
points: TopoVec<'a, Ctx>,
}
impl<'a, Ctx: Context<'a>> SingularResolver<'a, Ctx> {