about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Mansi <markm@cs.wisc.edu>2019-09-05 16:52:44 -0500
committerMark Mansi <markm@cs.wisc.edu>2019-09-05 16:52:49 -0500
commitbad8147d01df374e3daa37fe36446781df2eac2d (patch)
tree72c4f9f21e2745bfe8073bad69badf81ed16cce3
parent3f6db849f7270b9126e6609a87058c1bc3aef1da (diff)
downloadrust-bad8147d01df374e3daa37fe36446781df2eac2d.tar.gz
rust-bad8147d01df374e3daa37fe36446781df2eac2d.zip
fix reviewer comments
-rw-r--r--src/tools/rustbook/src/main.rs66
1 files changed, 33 insertions, 33 deletions
diff --git a/src/tools/rustbook/src/main.rs b/src/tools/rustbook/src/main.rs
index b2111442310..d5dc9a79b5a 100644
--- a/src/tools/rustbook/src/main.rs
+++ b/src/tools/rustbook/src/main.rs
@@ -8,6 +8,7 @@ use clap::{App, AppSettings, ArgMatches, SubCommand};
 use mdbook::errors::Result as Result3;
 use mdbook::MDBook;
 
+#[cfg(feature = "linkcheck")]
 use failure::Error;
 #[cfg(feature = "linkcheck")]
 use mdbook::renderer::RenderContext;
@@ -52,36 +53,41 @@ fn main() {
             }
         }
         ("linkcheck", Some(sub_matches)) => {
-            if let Err(err) = linkcheck(sub_matches) {
-                eprintln!("Error: {}", err);
-
-                // HACK: ignore timeouts
-                let actually_broken = {
-                    #[cfg(feature = "linkcheck")]
-                    {
-                        err.downcast::<BrokenLinks>()
-                            .map(|broken_links| {
-                                broken_links
-                                    .links()
-                                    .iter()
-                                    .inspect(|cause| eprintln!("\tCaused By: {}", cause))
-                                    .any(|cause| !format!("{}", cause).contains("timed out"))
-                            })
-                            .unwrap_or(false)
-                    }
-
-                    #[cfg(not(feature = "linkcheck"))]
-                    {
-                        false
+            #[cfg(feature = "linkcheck")]
+            {
+                if let Err(err) = linkcheck(sub_matches) {
+                    eprintln!("Error: {}", err);
+
+                    // HACK: ignore timeouts
+                    let actually_broken = err
+                        .downcast::<BrokenLinks>()
+                        .map(|broken_links| {
+                            broken_links
+                                .links()
+                                .iter()
+                                .inspect(|cause| eprintln!("\tCaused By: {}", cause))
+                                .fold(false, |already_broken, cause| {
+                                    already_broken || !format!("{}", cause).contains("timed out")
+                                })
+                        })
+                        .unwrap_or(false);
+
+                    if actually_broken {
+                        std::process::exit(101);
+                    } else {
+                        std::process::exit(0);
                     }
-                };
-
-                if actually_broken {
-                    std::process::exit(101);
-                } else {
-                    std::process::exit(0);
                 }
             }
+
+            #[cfg(not(feature = "linkcheck"))]
+            {
+                // This avoids the `unused_binding` lint.
+                println!(
+                    "mdbook-linkcheck is disabled, but arguments were passed: {:?}",
+                    sub_matches
+                );
+            }
         }
         (_, _) => unreachable!(),
     };
@@ -97,12 +103,6 @@ pub fn linkcheck(args: &ArgMatches<'_>) -> Result<(), Error> {
     mdbook_linkcheck::check_links(&render_ctx)
 }
 
-#[cfg(not(feature = "linkcheck"))]
-pub fn linkcheck(_args: &ArgMatches<'_>) -> Result<(), Error> {
-    println!("mdbook-linkcheck is disabled.");
-    Ok(())
-}
-
 // Build command implementation
 pub fn build(args: &ArgMatches<'_>) -> Result3<()> {
     let book_dir = get_book_dir(args);