From: Yehuda Katz Date: Sun, 22 Jun 2014 06:16:12 +0000 (-0700) Subject: Improve error messages X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~980 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c27d90c3ffec1dabf59d647a9a143de89bbb88a2;p=cargo.git Improve error messages --- diff --git a/libs/hammer.rs b/libs/hammer.rs index 6c442daa3..ea9e456ef 160000 --- a/libs/hammer.rs +++ b/libs/hammer.rs @@ -1 +1 @@ -Subproject commit 6c442daa3550d791333c4e382587d63fd12c89d2 +Subproject commit ea9e456ef5e0dbc5dc2e071f33622e9fc917a918 diff --git a/src/cargo/core/resolver.rs b/src/cargo/core/resolver.rs index 010bff29c..09d374445 100644 --- a/src/cargo/core/resolver.rs +++ b/src/cargo/core/resolver.rs @@ -6,7 +6,8 @@ use core::{ Summary, Registry }; -use util::errors::CargoResult; + +use util::{CargoResult, human, internal}; /* TODO: * - The correct input here is not a registry. Resolves should be performable @@ -33,9 +34,13 @@ pub fn resolve(deps: &[Dependency], let opts = try!(registry.query(&curr)); - assert!(opts.len() > 0, "no matches for {}", curr.get_name()); - // Temporary, but we must have exactly one option to satisfy the dep - assert!(opts.len() == 1, "invalid num of results {}", opts.len()); + if opts.len() == 0 { + return Err(human(format!("No package named {} found", curr.get_name()))); + } + + if opts.len() > 1 { + return Err(internal("Temporarily, Cargo only supports a single result for a dependency")) + } let pkg = opts.get(0).clone(); resolve.insert(pkg.get_name().to_str(), pkg.clone()); diff --git a/src/cargo/lib.rs b/src/cargo/lib.rs index ec9d8afa9..ec1cd8997 100644 --- a/src/cargo/lib.rs +++ b/src/cargo/lib.rs @@ -211,7 +211,7 @@ pub fn handle_error(err: CliError, shell: &mut MultiShell) { let _ = shell.error(error.to_str()); } - if unknown { + if error.cause().is_some() { let _ = shell.concise(|shell| { shell.err().say("\nTo learn more, run the command again with --verbose.", BLACK) }); diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index 416961bfe..cf94f186a 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -46,14 +46,14 @@ pub fn compile(manifest_path: &Path, shell: &mut MultiShell) -> CargoResult<()> let source_ids = package.get_source_ids(); let packages = { - let mut registry = try!(PackageRegistry::new(source_ids, override_ids, shell)); - let resolved = try!(resolver::resolve(package.get_dependencies(), - &mut registry).wrap({ - human("unable to resolve dependencies") - })); + let mut registry = + try!(PackageRegistry::new(source_ids, override_ids, shell)); + + let resolved = + try!(resolver::resolve(package.get_dependencies(), &mut registry)); try!(registry.get(resolved.as_slice()).wrap({ - human("unable to get packages from source") + human("Unable to get packages from source") })) };