Skip to content

Commit

Permalink
Remove the deprecated E999 rule code (#14428)
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaReiser authored and AlexWaygood committed Nov 19, 2024
1 parent 0e128b9 commit 4370dc4
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 47 deletions.
23 changes: 1 addition & 22 deletions crates/ruff/tests/integration_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -840,7 +840,7 @@ fn stdin_multiple_parse_error() {

#[test]
fn parse_error_not_included() {
// Select any rule except for `E999`, syntax error should still be shown.
// Parse errors are always shown
let mut cmd = RuffCheck::default().args(["--select=I"]).build();
assert_cmd_snapshot!(cmd
.pass_stdin("foo =\n"), @r"
Expand All @@ -859,27 +859,6 @@ fn parse_error_not_included() {
");
}

#[test]
fn deprecated_parse_error_selection() {
let mut cmd = RuffCheck::default().args(["--select=E999"]).build();
assert_cmd_snapshot!(cmd
.pass_stdin("foo =\n"), @r"
success: false
exit_code: 1
----- stdout -----
-:1:6: SyntaxError: Expected an expression
|
1 | foo =
| ^
|
Found 1 error.
----- stderr -----
warning: Rule `E999` is deprecated and will be removed in a future release. Syntax errors will always be shown regardless of whether this rule is selected or not.
");
}

#[test]
fn full_output_preview() {
let mut cmd = RuffCheck::default().args(["--preview"]).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ linter.rules.enabled = [
ambiguous-class-name (E742),
ambiguous-function-name (E743),
io-error (E902),
syntax-error (E999),
unused-import (F401),
import-shadowed-by-loop-var (F402),
undefined-local-with-import-star (F403),
Expand Down Expand Up @@ -150,7 +149,6 @@ linter.rules.should_fix = [
ambiguous-class-name (E742),
ambiguous-function-name (E743),
io-error (E902),
syntax-error (E999),
unused-import (F401),
import-shadowed-by-loop-var (F402),
undefined-local-with-import-star (F403),
Expand Down
3 changes: 2 additions & 1 deletion crates/ruff_linter/src/codes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,8 @@ pub fn code_to_rule(linter: Linter, code: &str) -> Option<(RuleGroup, Rule)> {
(Pycodestyle, "E742") => (RuleGroup::Stable, rules::pycodestyle::rules::AmbiguousClassName),
(Pycodestyle, "E743") => (RuleGroup::Stable, rules::pycodestyle::rules::AmbiguousFunctionName),
(Pycodestyle, "E902") => (RuleGroup::Stable, rules::pycodestyle::rules::IOError),
(Pycodestyle, "E999") => (RuleGroup::Deprecated, rules::pycodestyle::rules::SyntaxError),
#[allow(deprecated)]
(Pycodestyle, "E999") => (RuleGroup::Removed, rules::pycodestyle::rules::SyntaxError),

// pycodestyle warnings
(Pycodestyle, "W191") => (RuleGroup::Stable, rules::pycodestyle::rules::TabIndentation),
Expand Down
18 changes: 10 additions & 8 deletions crates/ruff_linter/src/rules/pycodestyle/rules/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ impl Violation for IOError {
}
}

/// ## Deprecated
/// This rule has been deprecated and will be removed in a future release. Syntax errors will
/// ## Removed
/// This rule has been removed. Syntax errors will
/// always be shown regardless of whether this rule is selected or not.
///
/// ## What it does
Expand All @@ -63,14 +63,16 @@ impl Violation for IOError {
/// ## References
/// - [Python documentation: Syntax Errors](https://docs.python.org/3/tutorial/errors.html#syntax-errors)
#[violation]
pub struct SyntaxError {
pub message: String,
}
#[deprecated(note = "E999 has been removed")]
pub struct SyntaxError;

#[allow(deprecated)]
impl Violation for SyntaxError {
#[derive_message_formats]
fn message(&self) -> String {
let SyntaxError { message } = self;
format!("SyntaxError: {message}")
unreachable!("E999 has been removed")
}

fn message_formats() -> &'static [&'static str] {
&["SyntaxError"]
}
}
11 changes: 3 additions & 8 deletions crates/ruff_workspace/src/configuration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1000,13 +1000,9 @@ impl LintConfiguration {
if preview.mode.is_disabled() {
for selection in deprecated_selectors.iter().sorted() {
let (prefix, code) = selection.prefix_and_code();
let rule = format!("{prefix}{code}");
let mut message =
format!("Rule `{rule}` is deprecated and will be removed in a future release.");
if matches!(rule.as_str(), "E999") {
message.push_str(" Syntax errors will always be shown regardless of whether this rule is selected or not.");
}
warn_user_once_by_message!("{message}");
warn_user_once_by_message!(
"Rule `{prefix}{code}` is deprecated and will be removed in a future release."
);
}
} else {
let deprecated_selectors = deprecated_selectors.iter().sorted().collect::<Vec<_>>();
Expand Down Expand Up @@ -1632,7 +1628,6 @@ mod tests {
Rule::AmbiguousClassName,
Rule::AmbiguousFunctionName,
Rule::IOError,
Rule::SyntaxError,
Rule::TabIndentation,
Rule::TrailingWhitespace,
Rule::MissingNewlineAtEndOfFile,
Expand Down
3 changes: 1 addition & 2 deletions python/ruff-ecosystem/ruff_ecosystem/defaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@
repo=Repository(owner="bokeh", name="bokeh", ref="branch-3.3"),
check_options=CheckOptions(select="ALL"),
),
# Disabled due to use of explicit `select` with `E999`, which is no longer
# supported in `--preview`.
# Disabled due to use of explicit `select` with `E999`, which has been removed.
# See: https://github.com/astral-sh/ruff/pull/12129
# Project(
# repo=Repository(owner="demisto", name="content", ref="master"),
Expand Down
2 changes: 0 additions & 2 deletions ruff.schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions scripts/check_ecosystem.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,7 @@ async def _get_commit(self: Self, checkout_dir: Path) -> str:
Repository("binary-husky", "gpt_academic", "master"),
Repository("bloomberg", "pytest-memray", "main"),
Repository("bokeh", "bokeh", "branch-3.3", select="ALL"),
# Disabled due to use of explicit `select` with `E999`, which is no longer
# supported in `--preview`.
# Disabled due to use of explicit `select` with `E999`, which has been removed.
# See: https://github.com/astral-sh/ruff/pull/12129
# Repository("demisto", "content", "master"),
Repository("docker", "docker-py", "main"),
Expand Down

0 comments on commit 4370dc4

Please sign in to comment.