packages: HashMap::new(),
}
}
-
- fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- let packages = self.packages.values().map(|p| &p.0);
- let matches = packages.filter(|pkg| dep.matches(pkg.summary()));
- for summary in matches.map(|pkg| pkg.summary().clone()) {
- f(summary);
- }
- Ok(())
- }
}
impl<'cfg> Debug for DirectorySource<'cfg> {
}
fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- self.query(dep, f)
+ let packages = self.packages.values().map(|p| &p.0);
+ let matches = packages.filter(|pkg| dep.matches(pkg.summary()));
+ for summary in matches.map(|pkg| pkg.summary().clone()) {
+ f(summary);
+ }
+ Ok(())
}
fn update(&mut self) -> CargoResult<()> {
self.remote.url()
}
- fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- let src = self.path_source
- .as_mut()
- .expect("BUG: update() must be called before query()");
- Source::query(src, dep, f)
- }
-
pub fn read_packages(&mut self) -> CargoResult<Vec<Package>> {
if self.path_source.is_none() {
self.update()?;
}
fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- self.query(dep, f)
+ let src = self.path_source
+ .as_mut()
+ .expect("BUG: update() must be called before query()");
+ Source::query(src, dep, f)
}
fn update(&mut self) -> CargoResult<()> {
self.packages.push(pkg);
}
- fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- for s in self.packages.iter().map(|p| p.summary()) {
- if dep.matches(s) {
- f(s.clone())
- }
- }
- Ok(())
- }
-
pub fn root_package(&mut self) -> CargoResult<Package> {
trace!("root_package; source={:?}", self);
}
fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- self.query(dep, f)
+ for s in self.packages.iter().map(|p| p.summary()) {
+ if dep.matches(s) {
+ f(s.clone())
+ }
+ }
+ Ok(())
}
fn update(&mut self) -> CargoResult<()> {
}
}
- fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- // If this is a precise dependency, then it came from a lockfile and in
- // theory the registry is known to contain this version. If, however, we
- // come back with no summaries, then our registry may need to be
- // updated, so we fall back to performing a lazy update.
- if dep.source_id().precise().is_some() && !self.updated {
- let mut called = false;
- self.index.query(dep, &mut *self.ops, &mut |s| {
- called = true;
- f(s);
- })?;
- if called {
- return Ok(());
- } else {
- self.do_update()?;
- }
- }
-
- self.index.query(dep, &mut *self.ops, f)
- }
-
/// Decode the configuration stored within the registry.
///
/// This requires that the index has been at least checked out.
}
fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- self.query(dep, f)
+ // If this is a precise dependency, then it came from a lockfile and in
+ // theory the registry is known to contain this version. If, however, we
+ // come back with no summaries, then our registry may need to be
+ // updated, so we fall back to performing a lazy update.
+ if dep.source_id().precise().is_some() && !self.updated {
+ let mut called = false;
+ self.index.query(dep, &mut *self.ops, &mut |s| {
+ called = true;
+ f(s);
+ })?;
+ if called {
+ return Ok(());
+ } else {
+ self.do_update()?;
+ }
+ }
+
+ self.index.query(dep, &mut *self.ops, f)
}
fn update(&mut self) -> CargoResult<()> {
inner: src,
}
}
-
- fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- let (replace_with, to_replace) = (&self.replace_with, &self.to_replace);
- let dep = dep.clone().map_source(to_replace, replace_with);
-
- self.inner
- .query(
- &dep,
- &mut |summary| f(summary.map_source(replace_with, to_replace)),
- )
- .chain_err(|| format!("failed to query replaced source {}", self.to_replace))?;
- Ok(())
- }
}
impl<'cfg> Source for ReplacedSource<'cfg> {
}
fn query(&mut self, dep: &Dependency, f: &mut FnMut(Summary)) -> CargoResult<()> {
- self.query(dep, f)
+ let (replace_with, to_replace) = (&self.replace_with, &self.to_replace);
+ let dep = dep.clone().map_source(to_replace, replace_with);
+
+ self.inner
+ .query(
+ &dep,
+ &mut |summary| f(summary.map_source(replace_with, to_replace)),
+ )
+ .chain_err(|| format!("failed to query replaced source {}", self.to_replace))?;
+ Ok(())
}
fn update(&mut self) -> CargoResult<()> {