about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorCamelid <camelidcamel@gmail.com>2021-01-28 18:00:07 -0800
committerCamelid <camelidcamel@gmail.com>2021-01-28 18:00:07 -0800
commitf620b5ced22e43bf484ca02f08b09dd45a30e0a1 (patch)
tree5c75887886d84dd182f4ad415cc0553136cac71f /src
parentbf193d69fe48f4ec3cac57ab7abb4e9f2a291661 (diff)
downloadrust-f620b5ced22e43bf484ca02f08b09dd45a30e0a1.tar.gz
rust-f620b5ced22e43bf484ca02f08b09dd45a30e0a1.zip
rustdoc: Remove unnecessary optional
Previously, the HTML output format was represented by both
`Some(OutputFormat::Html)` and `None` so there's no need to have an
optional. Instead, `OutputFormat::Html` is explicitly the default and we
no longer have a "tri-state enum".
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/config.rs26
-rw-r--r--src/librustdoc/core.rs2
-rw-r--r--src/librustdoc/lib.rs4
-rw-r--r--src/librustdoc/passes/calculate_doc_coverage.rs2
4 files changed, 21 insertions, 13 deletions
diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs
index 94773ac77cc..0b6f3b09f0c 100644
--- a/src/librustdoc/config.rs
+++ b/src/librustdoc/config.rs
@@ -35,6 +35,12 @@ crate enum OutputFormat {
     Html,
 }
 
+impl Default for OutputFormat {
+    fn default() -> OutputFormat {
+        OutputFormat::Html
+    }
+}
+
 impl OutputFormat {
     crate fn is_json(&self) -> bool {
         matches!(self, OutputFormat::Json)
@@ -118,7 +124,7 @@ crate struct Options {
     crate enable_per_target_ignores: bool,
 
     /// The path to a rustc-like binary to build tests with. If not set, we
-    /// default to loading from $sysroot/bin/rustc.
+    /// default to loading from `$sysroot/bin/rustc`.
     crate test_builder: Option<PathBuf>,
 
     // Options that affect the documentation process
@@ -142,8 +148,10 @@ crate struct Options {
     crate crate_version: Option<String>,
     /// Collected options specific to outputting final pages.
     crate render_options: RenderOptions,
-    /// Output format rendering (used only for "show-coverage" option for the moment)
-    crate output_format: Option<OutputFormat>,
+    /// The format that we output when rendering.
+    ///
+    /// Currently used only for the `--show-coverage` option.
+    crate output_format: OutputFormat,
     /// If this option is set to `true`, rustdoc will only run checks and not generate
     /// documentation.
     crate run_check: bool,
@@ -271,7 +279,7 @@ crate struct RenderInfo {
     crate deref_trait_did: Option<DefId>,
     crate deref_mut_trait_did: Option<DefId>,
     crate owned_box_did: Option<DefId>,
-    crate output_format: Option<OutputFormat>,
+    crate output_format: OutputFormat,
 }
 
 impl Options {
@@ -537,28 +545,28 @@ impl Options {
 
         let output_format = match matches.opt_str("output-format") {
             Some(s) => match OutputFormat::try_from(s.as_str()) {
-                Ok(o) => {
-                    if o.is_json()
+                Ok(out_fmt) => {
+                    if out_fmt.is_json()
                         && !(show_coverage || nightly_options::match_is_nightly_build(matches))
                     {
                         diag.struct_err("json output format isn't supported for doc generation")
                             .emit();
                         return Err(1);
-                    } else if !o.is_json() && show_coverage {
+                    } else if !out_fmt.is_json() && show_coverage {
                         diag.struct_err(
                             "html output format isn't supported for the --show-coverage option",
                         )
                         .emit();
                         return Err(1);
                     }
-                    Some(o)
+                    out_fmt
                 }
                 Err(e) => {
                     diag.struct_err(&e).emit();
                     return Err(1);
                 }
             },
-            None => None,
+            None => OutputFormat::default(),
         };
         let crate_name = matches.opt_str("crate-name");
         let proc_macro_crate = crate_types.contains(&CrateType::ProcMacro);
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index 16f11e460e6..60dbc19483a 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -460,7 +460,7 @@ crate fn run_global_ctxt(
     mut default_passes: passes::DefaultPassOption,
     mut manual_passes: Vec<String>,
     render_options: RenderOptions,
-    output_format: Option<OutputFormat>,
+    output_format: OutputFormat,
 ) -> (clean::Crate, RenderInfo, RenderOptions) {
     // Certain queries assume that some checks were run elsewhere
     // (see https://github.com/rust-lang/rust/pull/73566#issuecomment-656954425),
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index c61cbf78f77..e98cb237635 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -578,7 +578,7 @@ fn main_options(options: config::Options) -> MainResult {
                 let (error_format, edition, debugging_options) = diag_opts;
                 let diag = core::new_handler(error_format, None, &debugging_options);
                 match output_format {
-                    None | Some(config::OutputFormat::Html) => sess.time("render_html", || {
+                    config::OutputFormat::Html => sess.time("render_html", || {
                         run_renderer::<html::render::Context<'_>>(
                             krate,
                             render_opts,
@@ -588,7 +588,7 @@ fn main_options(options: config::Options) -> MainResult {
                             tcx,
                         )
                     }),
-                    Some(config::OutputFormat::Json) => sess.time("render_json", || {
+                    config::OutputFormat::Json => sess.time("render_json", || {
                         run_renderer::<json::JsonRenderer<'_>>(
                             krate,
                             render_opts,
diff --git a/src/librustdoc/passes/calculate_doc_coverage.rs b/src/librustdoc/passes/calculate_doc_coverage.rs
index 61e14c05222..cdbff62d064 100644
--- a/src/librustdoc/passes/calculate_doc_coverage.rs
+++ b/src/librustdoc/passes/calculate_doc_coverage.rs
@@ -132,7 +132,7 @@ impl<'a, 'b> CoverageCalculator<'a, 'b> {
 
     fn print_results(&self) {
         let output_format = self.ctx.renderinfo.borrow().output_format;
-        if output_format.map(|o| o.is_json()).unwrap_or_else(|| false) {
+        if output_format.is_json() {
             println!("{}", self.to_json());
             return;
         }