use core::{PackageId, Registry, SourceId, Summary, Dependency};
use core::PackageIdSpec;
-use core::shell::Shell;
+use util::config::Config;
use util::Graph;
use util::errors::{CargoResult, CargoError};
use util::profile;
pub fn resolve(summaries: &[(Summary, Method)],
replacements: &[(PackageIdSpec, Dependency)],
registry: &mut Registry,
- shell: Option<&mut Shell>) -> CargoResult<Resolve> {
+ config: Option<&Config>) -> CargoResult<Resolve> {
let cx = Context {
resolve_graph: RcList::new(),
resolve_features: HashMap::new(),
trace!("resolved: {:?}", resolve);
// If we have a shell, emit warnings about required deps used as feature.
- if let Some(shell) = shell {
+ if let Some(config) = config {
+ let mut shell = config.shell();
let mut warnings = &cx.warnings;
while let Some(ref head) = warnings.head {
shell.warn(&head.0)?;
None => root_replace.to_vec(),
};
- let mut shell;
- let opt_shell = if warn {
- shell = ws.config().shell();
- Some(&mut *shell)
+ let config = if warn {
+ Some(ws.config())
} else {
None
};
let mut resolved = resolver::resolve(&summaries,
&replace,
registry,
- opt_shell)?;
+ config)?;
resolved.register_used_patches(registry.patches());
if let Some(previous) = previous {
resolved.merge_from(previous)?;