about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYotam Ofek <yotam.ofek@gmail.com>2025-09-23 01:04:04 +0300
committerYotam Ofek <yotam.ofek@gmail.com>2025-09-23 17:29:47 +0300
commitaaff372f4b45f88dc3b28fe3c1c8ec22cb3b3411 (patch)
tree5e8f88f7c6bfdf7a2a8f04f5787f7e9b3f7d7ab3
parent58c7505d868515eb55971cf1ad8744c81d5ea7d2 (diff)
downloadrust-aaff372f4b45f88dc3b28fe3c1c8ec22cb3b3411.tar.gz
rust-aaff372f4b45f88dc3b28fe3c1c8ec22cb3b3411.zip
Remove `Tooltip::None` variant, use `Option::None`
-rw-r--r--src/librustdoc/html/highlight.rs23
-rw-r--r--src/librustdoc/html/markdown.rs30
2 files changed, 28 insertions, 25 deletions
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs
index 3ddfb3470f2..b1257999c07 100644
--- a/src/librustdoc/html/highlight.rs
+++ b/src/librustdoc/html/highlight.rs
@@ -47,13 +47,12 @@ pub(crate) enum Tooltip {
     CompileFail,
     ShouldPanic,
     Edition(Edition),
-    None,
 }
 
 /// Highlights `src` as an inline example, returning the HTML output.
 pub(crate) fn render_example_with_highlighting(
     src: &str,
-    tooltip: &Tooltip,
+    tooltip: Option<&Tooltip>,
     playground_button: Option<&str>,
     extra_classes: &[String],
 ) -> impl Display {
@@ -67,23 +66,24 @@ pub(crate) fn render_example_with_highlighting(
 fn write_header(
     class: &str,
     extra_content: Option<&str>,
-    tooltip: &Tooltip,
+    tooltip: Option<&Tooltip>,
     extra_classes: &[String],
 ) -> impl Display {
     fmt::from_fn(move |f| {
         write!(
             f,
             "<div class=\"example-wrap{}\">",
-            match tooltip {
-                Tooltip::IgnoreAll | Tooltip::IgnoreSome(_) => " ignore",
-                Tooltip::CompileFail => " compile_fail",
-                Tooltip::ShouldPanic => " should_panic",
-                Tooltip::Edition(_) => " edition",
-                Tooltip::None => "",
-            }
+            tooltip
+                .map(|tooltip| match tooltip {
+                    Tooltip::IgnoreAll | Tooltip::IgnoreSome(_) => " ignore",
+                    Tooltip::CompileFail => " compile_fail",
+                    Tooltip::ShouldPanic => " should_panic",
+                    Tooltip::Edition(_) => " edition",
+                })
+                .unwrap_or_default()
         )?;
 
-        if *tooltip != Tooltip::None {
+        if let Some(tooltip) = tooltip {
             let tooltip = fmt::from_fn(|f| match tooltip {
                 Tooltip::IgnoreAll => f.write_str("This example is not tested"),
                 Tooltip::IgnoreSome(platforms) => {
@@ -104,7 +104,6 @@ fn write_header(
                 Tooltip::CompileFail => f.write_str("This example deliberately fails to compile"),
                 Tooltip::ShouldPanic => f.write_str("This example panics"),
                 Tooltip::Edition(edition) => write!(f, "This example runs with edition {edition}"),
-                Tooltip::None => unreachable!(),
             });
 
             write!(f, "<a href=\"#\" class=\"tooltip\" title=\"{tooltip}\">ⓘ</a>")?;
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs
index 46923d1f698..7065de14c8e 100644
--- a/src/librustdoc/html/markdown.rs
+++ b/src/librustdoc/html/markdown.rs
@@ -321,18 +321,22 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for CodeBlocks<'_, 'a, I> {
             ))
         });
 
-        let tooltip = if ignore == Ignore::All {
-            highlight::Tooltip::IgnoreAll
-        } else if let Ignore::Some(platforms) = ignore {
-            highlight::Tooltip::IgnoreSome(platforms)
-        } else if compile_fail {
-            highlight::Tooltip::CompileFail
-        } else if should_panic {
-            highlight::Tooltip::ShouldPanic
-        } else if explicit_edition {
-            highlight::Tooltip::Edition(edition)
-        } else {
-            highlight::Tooltip::None
+        let tooltip = {
+            use highlight::Tooltip::*;
+
+            if ignore == Ignore::All {
+                Some(IgnoreAll)
+            } else if let Ignore::Some(platforms) = ignore {
+                Some(IgnoreSome(platforms))
+            } else if compile_fail {
+                Some(CompileFail)
+            } else if should_panic {
+                Some(ShouldPanic)
+            } else if explicit_edition {
+                Some(Edition(edition))
+            } else {
+                None
+            }
         };
 
         // insert newline to clearly separate it from the
@@ -341,7 +345,7 @@ impl<'a, I: Iterator<Item = Event<'a>>> Iterator for CodeBlocks<'_, 'a, I> {
             "\n{}",
             highlight::render_example_with_highlighting(
                 &text,
-                &tooltip,
+                tooltip.as_ref(),
                 playground_button.as_deref(),
                 &added_classes,
             )