pub struct ConstellationResolver;Expand description
Resolves dependencies and detects conflicts within a constellation.
Implementations§
Source§impl ConstellationResolver
impl ConstellationResolver
Sourcepub fn collect_dependencies(
constellation: &Constellation,
) -> HashMap<String, HashSet<String>>
pub fn collect_dependencies( constellation: &Constellation, ) -> HashMap<String, HashSet<String>>
Collect all transitive dependencies from a constellation’s skills. Returns a map from dependency name to the set of skills that need it.
Sourcepub fn detect_conflicts(constellation: &Constellation) -> Vec<ResolutionError>
pub fn detect_conflicts(constellation: &Constellation) -> Vec<ResolutionError>
Detect conflicts: skills that depend on each other (circular) or the same skill appearing multiple times.
Sourcepub fn root_skills(constellation: &Constellation) -> Vec<&SkillDescriptor>
pub fn root_skills(constellation: &Constellation) -> Vec<&SkillDescriptor>
Get skills that have no unresolved dependencies (ready to load first).
Sourcepub fn dependency_order(
constellation: &Constellation,
) -> Result<Vec<String>, ResolutionError>
pub fn dependency_order( constellation: &Constellation, ) -> Result<Vec<String>, ResolutionError>
Topological sort of skills by dependency order. Returns skills in load order (dependencies first), or an error if cycles exist.
Auto Trait Implementations§
impl Freeze for ConstellationResolver
impl RefUnwindSafe for ConstellationResolver
impl Send for ConstellationResolver
impl Sync for ConstellationResolver
impl Unpin for ConstellationResolver
impl UnsafeUnpin for ConstellationResolver
impl UnwindSafe for ConstellationResolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more