]> git.lizzy.rs Git - rust.git/commitdiff
no indexing
authorOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>
Thu, 2 Jun 2016 15:39:28 +0000 (17:39 +0200)
committerOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>
Thu, 2 Jun 2016 15:39:28 +0000 (17:39 +0200)
src/main.rs

index 8c9220c7fc2c207802c9f5857fb125f0d306e2ff..db0c6613f3fcf97a6713dc8909151b43a574d126 100644 (file)
@@ -126,11 +126,14 @@ pub fn main() {
         assert_eq!(metadata.version, 1);
         for target in metadata.packages.remove(0).targets {
             let args = std::env::args().skip(2);
-            assert!(!target.kind.is_empty());
-            if target.kind.len() > 1 || target.kind[0].ends_with("lib") {
-                process(std::iter::once("--lib".to_owned()).chain(args), &dep_path, &sys_root);
-            } else if target.kind[0] == "bin" {
-                process(vec!["--bin".to_owned(), target.name].into_iter().chain(args), &dep_path, &sys_root);
+            if let Some(first) = target.kind.get(0) {
+                if target.kind.len() > 1 || first.ends_with("lib") {
+                    process(std::iter::once("--lib".to_owned()).chain(args), &dep_path, &sys_root);
+                } else if first == "bin" {
+                    process(vec!["--bin".to_owned(), target.name].into_iter().chain(args), &dep_path, &sys_root);
+                }
+            } else {
+                panic!("badly formatted cargo metadata: target::kind is an empty array");
             }
         }
     } else {