Add rule removal infrastructure (#9691)

Similar to https://github.com/astral-sh/ruff/pull/9689 — retains removed
rules for better error messages and documentation but removed rules
_cannot_ be used in any context.

Removes PLR1706 as a useful test case and something we want to
accomplish in #9680 anyway. The rule was in preview so we do not need to
deprecate it first.

Closes https://github.com/astral-sh/ruff/issues/9007

## Test plan

<img width="1110" alt="Rules table"
src="ac9fa682-623c-44aa-8e51-d8ab0d308355">

<img width="1110" alt="Rule page"
src="05850b2d-7ca5-49bb-8df8-bb931bab25cd">
This commit is contained in:
Zanie Blue 2024-01-30 11:45:49 -06:00
parent a0ef087e73
commit e0bc08a758
13 changed files with 127 additions and 411 deletions

View file

@ -329,6 +329,10 @@ See also https://github.com/astral-sh/ruff/issues/2186.
pub fn is_deprecated(&self) -> bool {
matches!(self.group(), RuleGroup::Deprecated)
}
pub fn is_removed(&self) -> bool {
matches!(self.group(), RuleGroup::Removed)
}
}
impl Linter {