diff options
Diffstat (limited to 'src/resolve.rs')
-rw-r--r-- | src/resolve.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/resolve.rs b/src/resolve.rs index b2e350d..f3ad284 100644 --- a/src/resolve.rs +++ b/src/resolve.rs @@ -4,7 +4,7 @@ use std::fmt; use crate::types::*; #[derive(Debug)] -pub struct DepChain(pub Vec<TaskID>); +pub struct DepChain(pub Vec<TaskRef>); impl fmt::Display for DepChain { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { @@ -29,7 +29,7 @@ pub enum Error { } impl Error { - fn extend(&mut self, task: TaskID) { + fn extend(&mut self, task: TaskRef) { let tasks = match self { Error::TaskNotFound(ref mut tasks) => tasks, Error::DependencyCycle(ref mut tasks) => tasks, @@ -62,7 +62,7 @@ enum ResolveState { #[derive(Debug)] pub struct Resolver<'a> { tasks: &'a TaskMap, - resolve_state: HashMap<TaskID, ResolveState>, + resolve_state: HashMap<TaskRef, ResolveState>, } impl<'a> Resolver<'a> { @@ -79,7 +79,7 @@ impl<'a> Resolver<'a> { .all(|resolved| *resolved == ResolveState::Resolved) } - pub fn add_task(&mut self, task: &TaskID) -> Vec<Error> { + pub fn add_task(&mut self, task: &TaskRef) -> Vec<Error> { match self.resolve_state.get(task) { Some(ResolveState::Resolving) => { return vec![Error::DependencyCycle(DepChain(vec![task.clone()]))] @@ -118,13 +118,13 @@ impl<'a> Resolver<'a> { ret } - pub fn add_goal(&mut self, task: &TaskID) -> Vec<Error> { + pub fn add_goal(&mut self, task: &TaskRef) -> Vec<Error> { let ret = self.add_task(task); debug_assert!(self.tasks_resolved()); ret } - pub fn to_taskset(self) -> HashSet<TaskID> { + pub fn to_taskset(self) -> HashSet<TaskRef> { debug_assert!(self.tasks_resolved()); self.resolve_state |