about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJason Newcomb <jsnewcomb@pm.me>2025-05-02 15:47:40 +0000
committerGitHub <noreply@github.com>2025-05-02 15:47:40 +0000
commitfb9508d7a0f7371ffacfb57065df9150d27c76bf (patch)
tree82fb25504b6515dba7e0aa55f1d15dafb2f65bbc
parenta53acefef770b7df82267be62eb85a05d92a1d66 (diff)
parent7bfb15cd11d21c0edf0d60fb8419f0736e10937f (diff)
downloadrust-fb9508d7a0f7371ffacfb57065df9150d27c76bf.tar.gz
rust-fb9508d7a0f7371ffacfb57065df9150d27c76bf.zip
Fix `new_lint` clippy command (#14642)
I'm working on https://github.com/rust-lang/rust-clippy/issues/14542 and
I decided to name the lint `unnecessary_map` originally. However when I
ran the command, I got:

```
thread 'main' panicked at clippy_dev/src/new_lint.rs:450:5:
Lint `unnecessary_map` already defined in `/home/imperio/rust/clippy/clippy_lints/src/methods/mod.rs`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

It's because there is already a `unnecessary_map_or`, which matches the
`.contains()` call. This PR strengthens this check.

changelog: Fix `new_lint` clippy command

r? @flip1995
-rw-r--r--clippy_dev/src/new_lint.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/clippy_dev/src/new_lint.rs b/clippy_dev/src/new_lint.rs
index 96e12706c9e..771f48b3f8b 100644
--- a/clippy_dev/src/new_lint.rs
+++ b/clippy_dev/src/new_lint.rs
@@ -448,7 +448,7 @@ fn setup_mod_file(path: &Path, lint: &LintData<'_>) -> io::Result<&'static str>
 
     let mut file_contents = fs::read_to_string(path)?;
     assert!(
-        !file_contents.contains(&lint_name_upper),
+        !file_contents.contains(&format!("pub {lint_name_upper},")),
         "Lint `{}` already defined in `{}`",
         lint.name,
         path.display()