]> git.lizzy.rs Git - rust.git/commitdiff
better error when using cargo-miri in a workspace
authorRalf Jung <post@ralfj.de>
Wed, 16 Oct 2019 19:45:17 +0000 (21:45 +0200)
committerRalf Jung <post@ralfj.de>
Wed, 16 Oct 2019 20:03:44 +0000 (22:03 +0200)
src/bin/cargo-miri.rs

index 15c66f8c0dbaa993a5fe0bf892ffef109b421518..b189dc1f808c3bf81588844622a345a3d26bfdb3 100644 (file)
@@ -91,7 +91,7 @@ fn list_targets() -> impl Iterator<Item=cargo_metadata::Target> {
     let mut metadata = if let Ok(metadata) = cmd.exec() {
         metadata
     } else {
-        show_error(format!("Could not obtain Cargo metadata"));
+        show_error(format!("Could not obtain Cargo metadata; likely an ill-formed manifest"));
     };
 
     let current_dir = std::env::current_dir();
@@ -113,7 +113,7 @@ fn list_targets() -> impl Iterator<Item=cargo_metadata::Target> {
                 package_manifest_directory == current_dir
             }
         })
-        .expect("could not find matching package");
+        .unwrap_or_else(|| show_error(format!("This seems to be a workspace, which is not supported by cargo-miri")));
     let package = metadata.packages.remove(package_index);
 
     // Finally we got the list of targets to build