Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reword future-rewritable-type-annotation (FA100) message #11381

Merged
merged 2 commits into from
May 13, 2024

Conversation

tjkuson
Copy link
Contributor

@tjkuson tjkuson commented May 12, 2024

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

Copy link
Contributor

github-actions bot commented May 12, 2024

ruff-ecosystem results

Linter (stable)

ℹ️ ecosystem check detected linter changes. (+6447 -6447 violations, +0 -0 fixes in 2 projects; 42 projects unchanged)

apache/airflow (+27 -27 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --no-preview --select ALL

+ airflow/serialization/pydantic/dataset.py:51:12: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:51:12: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ airflow/serialization/pydantic/dataset.py:56:21: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- airflow/serialization/pydantic/dataset.py:56:21: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ airflow/serialization/pydantic/dataset.py:57:22: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- airflow/serialization/pydantic/dataset.py:57:22: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ airflow/serialization/pydantic/dataset.py:66:17: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:66:17: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ airflow/serialization/pydantic/dataset.py:68:21: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:68:21: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
... 44 additional changes omitted for project

zulip/zulip (+6420 -6420 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --no-preview --select ALL

+ analytics/lib/counts.py:105:23: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:105:23: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:106:24: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:106:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:106:68: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:106:68: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:119:53: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:119:53: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:183:49: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:183:49: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:212:49: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:212:49: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:306:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:306:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:306:24: FA100 Add `from __future__ import annotations` to simplify `typing.Union`
- analytics/lib/counts.py:306:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Union`
+ analytics/lib/counts.py:314:14: FA100 Add `from __future__ import annotations` to simplify `typing.Dict`
- analytics/lib/counts.py:314:14: FA100 Missing `from __future__ import annotations`, but uses `typing.Dict`
+ analytics/lib/counts.py:314:24: FA100 Add `from __future__ import annotations` to simplify `typing.Union`
- analytics/lib/counts.py:314:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Union`
+ analytics/lib/counts.py:315:20: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- analytics/lib/counts.py:315:20: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ analytics/lib/counts.py:436:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:436:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:436:24: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:436:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:436:30: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:436:30: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:470:19: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:470:19: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:472:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:472:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:472:24: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:472:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:472:30: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:472:30: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:475:73: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:475:73: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:488:51: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:488:51: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:523:69: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:523:69: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:536:21: FA100 Add `from __future__ import annotations` to simplify `typing.Dict`
- analytics/lib/counts.py:536:21: FA100 Missing `from __future__ import annotations`, but uses `typing.Dict`
+ analytics/lib/counts.py:536:26: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:536:26: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:558:40: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:558:40: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:58:19: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
... 12791 additional changes omitted for project

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
FA100 12894 6447 6447 0 0

Linter (preview)

ℹ️ ecosystem check detected linter changes. (+6447 -6447 violations, +0 -0 fixes in 2 projects; 42 projects unchanged)

apache/airflow (+27 -27 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

+ airflow/serialization/pydantic/dataset.py:51:12: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:51:12: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ airflow/serialization/pydantic/dataset.py:56:21: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- airflow/serialization/pydantic/dataset.py:56:21: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ airflow/serialization/pydantic/dataset.py:57:22: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- airflow/serialization/pydantic/dataset.py:57:22: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ airflow/serialization/pydantic/dataset.py:66:17: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:66:17: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ airflow/serialization/pydantic/dataset.py:68:21: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- airflow/serialization/pydantic/dataset.py:68:21: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
... 44 additional changes omitted for project

zulip/zulip (+6420 -6420 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --output-format concise --preview --select ALL

+ analytics/lib/counts.py:105:23: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:105:23: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:106:24: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:106:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:106:68: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:106:68: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:119:53: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:119:53: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:183:49: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:183:49: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:212:49: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:212:49: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:306:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:306:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:306:24: FA100 Add `from __future__ import annotations` to simplify `typing.Union`
- analytics/lib/counts.py:306:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Union`
+ analytics/lib/counts.py:314:14: FA100 Add `from __future__ import annotations` to simplify `typing.Dict`
- analytics/lib/counts.py:314:14: FA100 Missing `from __future__ import annotations`, but uses `typing.Dict`
+ analytics/lib/counts.py:314:24: FA100 Add `from __future__ import annotations` to simplify `typing.Union`
- analytics/lib/counts.py:314:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Union`
+ analytics/lib/counts.py:315:20: FA100 Add `from __future__ import annotations` to simplify `typing.List`
- analytics/lib/counts.py:315:20: FA100 Missing `from __future__ import annotations`, but uses `typing.List`
+ analytics/lib/counts.py:436:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:436:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:436:24: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:436:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:436:30: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:436:30: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:470:19: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:470:19: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:472:15: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:472:15: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:472:24: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:472:24: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:472:30: FA100 Add `from __future__ import annotations` to simplify `typing.Type`
- analytics/lib/counts.py:472:30: FA100 Missing `from __future__ import annotations`, but uses `typing.Type`
+ analytics/lib/counts.py:475:73: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:475:73: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:488:51: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:488:51: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:523:69: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:523:69: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:536:21: FA100 Add `from __future__ import annotations` to simplify `typing.Dict`
- analytics/lib/counts.py:536:21: FA100 Missing `from __future__ import annotations`, but uses `typing.Dict`
+ analytics/lib/counts.py:536:26: FA100 Add `from __future__ import annotations` to simplify `typing.Tuple`
- analytics/lib/counts.py:536:26: FA100 Missing `from __future__ import annotations`, but uses `typing.Tuple`
+ analytics/lib/counts.py:558:40: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
- analytics/lib/counts.py:558:40: FA100 Missing `from __future__ import annotations`, but uses `typing.Optional`
+ analytics/lib/counts.py:58:19: FA100 Add `from __future__ import annotations` to simplify `typing.Optional`
... 12791 additional changes omitted for project

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
FA100 12894 6447 6447 0 0

@charliermarsh charliermarsh enabled auto-merge (squash) May 13, 2024 01:31
@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label May 13, 2024
@charliermarsh charliermarsh merged commit 5ab4cc8 into astral-sh:main May 13, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rule Implementing or modifying a lint rule
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improving "FA100 / future-rewritable-type-annotation" message
2 participants