Automattic / Automattic/harper

Clashing linters named `TooTo` are not detected by `no_linter_names_clash()`

Open
#3,241 1 comment 0 reactions 0 assignees View on GitHub
bug enhancement linting
Dominant language
Rust
Stars
15.4k
Forks
627
Avg merge
1d 12h
Merged PRs (30d)
106

Description

Thanks to PR #3237 for identifying this problem as part of looking into a different issue.

I added a test `no_linter_names_clash()` in `harper-core/src/linting/lint_group/mod.rs` a couple of months ago that found about three pairs of linters that shared the same name.

But at that time I didn't realize that "sub linters" of "merged linters" were not visible at the top level (hence issue #3134)

We need to enhance `no_linter_names_clash()` to consider sublinters as well as linters. If we can walk the curated `LintGroup` easily this shouldn't be hard.

Contributor guide

Open the contributing guide

Research direction

Start in harper-core/src/linting/lint_group/mod.rs and read the existing no_linter_names_clash() test alongside the curated LintGroup structure. Trace how merged linters expose their sublinters, then run the relevant Rust tests. Done means the check also detects the clashing TooTo names among sublinters.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.