about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--clippy_config/src/conf.rs24
-rw-r--r--clippy_config/src/lib.rs2
-rw-r--r--clippy_lints/src/lib.rs26
-rw-r--r--tests/compile-test.rs6
4 files changed, 27 insertions, 31 deletions
diff --git a/clippy_config/src/conf.rs b/clippy_config/src/conf.rs
index 757620341cc..df13be80098 100644
--- a/clippy_config/src/conf.rs
+++ b/clippy_config/src/conf.rs
@@ -97,6 +97,30 @@ impl ConfError {
     }
 }
 
+// Remove code tags and code behind '# 's, as they are not needed for the lint docs and --explain
+pub fn sanitize_explanation(raw_docs: &str) -> String {
+    // Remove tags and hidden code:
+    let mut explanation = String::with_capacity(128);
+    let mut in_code = false;
+    for line in raw_docs.lines().map(str::trim) {
+        if let Some(lang) = line.strip_prefix("```") {
+            let tag = lang.split_once(',').map_or(lang, |(left, _)| left);
+            if !in_code && matches!(tag, "" | "rust" | "ignore" | "should_panic" | "no_run" | "compile_fail") {
+                explanation += "```rust\n";
+            } else {
+                explanation += line;
+                explanation.push('\n');
+            }
+            in_code = !in_code;
+        } else if !(in_code && line.starts_with("# ")) {
+            explanation += line;
+            explanation.push('\n');
+        }
+    }
+
+    explanation
+}
+
 macro_rules! wrap_option {
     () => {
         None
diff --git a/clippy_config/src/lib.rs b/clippy_config/src/lib.rs
index c63d98a0a13..42651521f8d 100644
--- a/clippy_config/src/lib.rs
+++ b/clippy_config/src/lib.rs
@@ -26,5 +26,5 @@ mod metadata;
 pub mod msrvs;
 pub mod types;
 
-pub use conf::{Conf, get_configuration_metadata, lookup_conf_file};
+pub use conf::{Conf, get_configuration_metadata, lookup_conf_file, sanitize_explanation};
 pub use metadata::ClippyConfiguration;
diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs
index 0bfbb92dfda..71e7b56408e 100644
--- a/clippy_lints/src/lib.rs
+++ b/clippy_lints/src/lib.rs
@@ -396,7 +396,7 @@ mod zero_sized_map_values;
 mod zombie_processes;
 // end lints modules, do not remove this comment, it’s used in `update_lints`
 
-use clippy_config::{Conf, get_configuration_metadata};
+use clippy_config::{Conf, get_configuration_metadata, sanitize_explanation};
 use clippy_utils::macros::FormatArgsStorage;
 use rustc_data_structures::fx::FxHashSet;
 use rustc_lint::{Lint, LintId};
@@ -522,30 +522,6 @@ impl LintInfo {
     }
 }
 
-// Remove code tags and code behind '# 's, as they are not needed for the lint docs and --explain
-pub fn sanitize_explanation(raw_docs: &str) -> String {
-    // Remove tags and hidden code:
-    let mut explanation = String::with_capacity(128);
-    let mut in_code = false;
-    for line in raw_docs.lines().map(|line| line.trim()) {
-        if let Some(lang) = line.strip_prefix("```") {
-            let tag = lang.split_once(',').map_or(lang, |(left, _)| left);
-            if !in_code && matches!(tag, "" | "rust" | "ignore" | "should_panic" | "no_run" | "compile_fail") {
-                explanation += "```rust\n";
-            } else {
-                explanation += line;
-                explanation.push('\n');
-            }
-            in_code = !in_code;
-        } else if !(in_code && line.starts_with("# ")) {
-            explanation += line;
-            explanation.push('\n');
-        }
-    }
-
-    explanation
-}
-
 pub fn explain(name: &str) -> i32 {
     let target = format!("clippy::{}", name.to_ascii_uppercase());
 
diff --git a/tests/compile-test.rs b/tests/compile-test.rs
index 23dd41235bd..8734bd41364 100644
--- a/tests/compile-test.rs
+++ b/tests/compile-test.rs
@@ -5,9 +5,9 @@
 use cargo_metadata::Message;
 use cargo_metadata::diagnostic::{Applicability, Diagnostic};
 use clippy_config::ClippyConfiguration;
+use clippy_lints::LintInfo;
 use clippy_lints::declared_lints::LINTS;
 use clippy_lints::deprecated_lints::{DEPRECATED, DEPRECATED_VERSION, RENAMED};
-use clippy_lints::{LintInfo, sanitize_explanation};
 use serde::{Deserialize, Serialize};
 use test_utils::IS_RUSTC_TEST_SUITE;
 use ui_test::custom_flags::Flag;
@@ -444,10 +444,6 @@ impl DiagnosticCollector {
                     iter::zip(DEPRECATED, DEPRECATED_VERSION)
                         .map(|((lint, reason), version)| LintMetadata::new_deprecated(lint, reason, version)),
                 )
-                .map(|mut metadata| {
-                    metadata.docs = sanitize_explanation(&metadata.docs);
-                    metadata
-                })
                 .collect();
 
             metadata.sort_unstable_by(|a, b| a.id.cmp(&b.id));