From 5ab4cc86c285208187b45af0159a69a47edbb858 Mon Sep 17 00:00:00 2001 From: Tom Kuson Date: Mon, 13 May 2024 02:38:49 +0100 Subject: [PATCH] Reword `future-rewritable-type-annotation` (`FA100`) message (#11381) ## Summary Changes `future-rewritable-type-annotation` (`FA100`) message to be less confusing. Uses phrasing from the rule documentation to be consistent. For example, ``` from_typing_import.py:5:13: FA100 Add `from __future__ import annotations` to rewrite `typing.List` more succinctly ``` Closes #10573. ## Test Plan `cargo nextest run` --- .../rules/future_rewritable_type_annotation.rs | 2 +- ...les__flake8_future_annotations__tests__edge_case.py.snap | 6 ++---- ...e8_future_annotations__tests__from_typing_import.py.snap | 4 +--- ...ture_annotations__tests__from_typing_import_many.py.snap | 6 ++---- ..._flake8_future_annotations__tests__import_typing.py.snap | 4 +--- ...ake8_future_annotations__tests__import_typing_as.py.snap | 4 +--- 6 files changed, 8 insertions(+), 18 deletions(-) diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs index b719ed7394..38ed7d44a3 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/rules/future_rewritable_type_annotation.rs @@ -72,7 +72,7 @@ impl Violation for FutureRewritableTypeAnnotation { #[derive_message_formats] fn message(&self) -> String { let FutureRewritableTypeAnnotation { name } = self; - format!("Missing `from __future__ import annotations`, but uses `{name}`") + format!("Add `from __future__ import annotations` to simplify `{name}`") } } diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__edge_case.py.snap b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__edge_case.py.snap index bdba068b16..34091b62e6 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__edge_case.py.snap +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__edge_case.py.snap @@ -1,7 +1,7 @@ --- source: crates/ruff_linter/src/rules/flake8_future_annotations/mod.rs --- -edge_case.py:5:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +edge_case.py:5:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 5 | def main(_: List[int]) -> None: | ^^^^ FA100 @@ -9,12 +9,10 @@ edge_case.py:5:13: FA100 Missing `from __future__ import annotations`, but uses 7 | a_list.append("hello") | -edge_case.py:6:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +edge_case.py:6:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 5 | def main(_: List[int]) -> None: 6 | a_list: t.List[str] = [] | ^^^^^^ FA100 7 | a_list.append("hello") | - - diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import.py.snap b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import.py.snap index 042876422b..60159406ca 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import.py.snap +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import.py.snap @@ -1,12 +1,10 @@ --- source: crates/ruff_linter/src/rules/flake8_future_annotations/mod.rs --- -from_typing_import.py:5:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +from_typing_import.py:5:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 4 | def main() -> None: 5 | a_list: List[str] = [] | ^^^^ FA100 6 | a_list.append("hello") | - - diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import_many.py.snap b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import_many.py.snap index e24e25744a..0ec50bc40a 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import_many.py.snap +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__from_typing_import_many.py.snap @@ -1,7 +1,7 @@ --- source: crates/ruff_linter/src/rules/flake8_future_annotations/mod.rs --- -from_typing_import_many.py:5:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +from_typing_import_many.py:5:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 4 | def main() -> None: 5 | a_list: List[Optional[str]] = [] @@ -10,7 +10,7 @@ from_typing_import_many.py:5:13: FA100 Missing `from __future__ import annotatio 7 | a_dict = cast(Dict[int | None, Union[int, Set[bool]]], {}) | -from_typing_import_many.py:5:18: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional` +from_typing_import_many.py:5:18: FA100 Add `from __future__ import annotations` to simplify `typing.Optional` | 4 | def main() -> None: 5 | a_list: List[Optional[str]] = [] @@ -18,5 +18,3 @@ from_typing_import_many.py:5:18: FA100 Missing `from __future__ import annotatio 6 | a_list.append("hello") 7 | a_dict = cast(Dict[int | None, Union[int, Set[bool]]], {}) | - - diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing.py.snap b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing.py.snap index fa23852dc4..328908cfb2 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing.py.snap +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing.py.snap @@ -1,12 +1,10 @@ --- source: crates/ruff_linter/src/rules/flake8_future_annotations/mod.rs --- -import_typing.py:5:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +import_typing.py:5:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 4 | def main() -> None: 5 | a_list: typing.List[str] = [] | ^^^^^^^^^^^ FA100 6 | a_list.append("hello") | - - diff --git a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing_as.py.snap b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing_as.py.snap index 58f10568d7..05eb2c2a8b 100644 --- a/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing_as.py.snap +++ b/crates/ruff_linter/src/rules/flake8_future_annotations/snapshots/ruff_linter__rules__flake8_future_annotations__tests__import_typing_as.py.snap @@ -1,12 +1,10 @@ --- source: crates/ruff_linter/src/rules/flake8_future_annotations/mod.rs --- -import_typing_as.py:5:13: FA100 Missing `from __future__ import annotations`, but uses `typing.List` +import_typing_as.py:5:13: FA100 Add `from __future__ import annotations` to simplify `typing.List` | 4 | def main() -> None: 5 | a_list: t.List[str] = [] | ^^^^^^ FA100 6 | a_list.append("hello") | - -