Bailout if --bin is specified when uninstalling multiple packages
authorFredrik Larsson <nossralf@gmail.com>
Wed, 11 Oct 2017 18:43:29 +0000 (20:43 +0200)
committerFredrik Larsson <nossralf@gmail.com>
Sat, 28 Oct 2017 12:53:57 +0000 (14:53 +0200)
src/cargo/ops/cargo_install.rs

index 01189bc61ee46005fad82aa70635641ba10f0e9e..addfa83af1329b5a8a01ec2178088b21644570ab 100644 (file)
@@ -560,6 +560,10 @@ pub fn uninstall(root: Option<&str>,
                  specs: Vec<&str>,
                  bins: &[String],
                  config: &Config) -> CargoResult<()> {
+    if specs.len() > 1 && bins.len() > 0 {
+        bail!("A binary can only be associated with a single installed package, specifying multiple specs with --bin is redundant.");
+    }
+
     let root = resolve_root(root, config)?;
     let scheduled_error = if specs.len() == 1 {
         uninstall_one(root, specs[0], bins, config)?;