ruff/crates/ruff_linter/resources/test/fixtures
Brent Westbrook 014bb526f4
[syntax-errors] `await` outside async functions (#17363)
Summary
--

This PR implements detecting the use of `await` expressions outside of
async functions. This is a reimplementation of
[await-outside-async
(PLE1142)](https://docs.astral.sh/ruff/rules/await-outside-async/) as a
semantic syntax error.

Despite the rule name, PLE1142 also applies to `async for` and `async
with`, so these are covered here too.

Test Plan
--

Existing PLE1142 tests.

I also deleted more code from the `SemanticSyntaxCheckerVisitor` to
avoid changes in other parser tests.
2025-04-14 13:01:48 -04:00
..
airflow [`airflow`] Add missing `AIR302` attribute check (#17115) 2025-04-09 13:58:41 -04:00
control-flow-graph [`pylint`] Fix `unreachable` infinite loop (`PLW0101`) (#15278) 2025-01-08 09:45:04 -06:00
eradicate [`eradicate`] Correctly handle metadata blocks directly followed by normal blocks (`ERA001`) (#15330) 2025-01-07 16:22:22 -05:00
fastapi [`FastAPI`] Update `Annotated` fixes (`FAST002`) (#15462) 2025-01-15 13:05:53 -05:00
filesystem Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_2020 Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_annotations [ruff 0.8] [`flake8-annotations`] Remove deprecated rules ANN101 and ANN102 (#14384) 2024-11-20 13:11:51 +01:00
flake8_async [`flake8-async`] allow async generators (`ASYNC100`) (#13639) 2024-10-07 07:25:54 -05:00
flake8_bandit [`flake8-bandit`] Mark `str` and `list[str]` literals as trusted input (`S603`) (#17136) 2025-04-02 11:22:37 -04:00
flake8_blind_except Respect logged and re-raised expressions in nested statements (#11301) 2024-05-05 21:52:09 -04:00
flake8_boolean_trap FBT001: exclude boolean operators (#14203) 2024-11-10 22:40:37 +00:00
flake8_bugbear [`flake8-bugbear`] Exempt `NewType` calls where the original type is immutable (`B008`) (#15765) 2025-01-29 10:26:17 +00:00
flake8_builtins [flake8-builtins] Ignore variables matching module attribute names (A001) (#16454) 2025-03-03 11:10:23 +01:00
flake8_commas Enable token-based rules on source with syntax errors (#11950) 2024-07-02 08:57:46 +00:00
flake8_comprehensions [flake8-comprehensions]: Handle trailing comma in C403 fix (#16110) 2025-02-15 11:45:41 -06:00
flake8_datetimez [`flake8-datetime`] Ignore `.replace()` calls while looking for `.astimezone` (#16050) 2025-02-09 15:48:59 +00:00
flake8_debugger [`flake8-debugger`] Also flag `sys.breakpointhook` and `sys.__breakpointhook__` (`T100`) (#16191) 2025-02-16 14:50:16 -05:00
flake8_django [`flake8-django`] Recognize other magic methods (`DJ012`) (#15365) 2025-01-09 14:36:42 +01:00
flake8_errmsg Allow `EM` fixes even if `msg` variable is defined (#9059) 2023-12-08 15:16:15 -06:00
flake8_executable [`flake8-executables`] Allow `uv run` in shebang line for `shebang-missing-python` (`EXE003`) (#16849) 2025-03-19 10:35:07 -05:00
flake8_fixme Fix TODO directive out of bounds acccess (#13756) 2024-10-15 10:49:53 +02:00
flake8_future_annotations Avoid flagging `__future__` annotations as required for non-evaluated type annotations (#11414) 2024-05-21 18:57:13 +00:00
flake8_gettext Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_implicit_str_concat [`flake8-implicit-str-concat`] Normalize octals before merging concatenated strings in `single-line-implicit-string-concatenation` (`ISC001`) (#13118) 2024-08-27 18:53:27 +01:00
flake8_import_conventions [flake8-import-conventions] Add import `numpy.typing as npt` to default `flake8-import-conventions.aliases` (#17133) 2025-04-02 09:25:46 +02:00
flake8_logging [`flake8-logging`] `.exception()` and `exc_info=` outside exception handlers (`LOG004`, `LOG014`) (#15799) 2025-02-04 09:52:12 +01:00
flake8_logging_format Include inline instantiations when detecting loggers (#11154) 2024-04-25 21:00:12 -04:00
flake8_no_pep420 Skip namespace package enforcement for PEP 723 scripts (#13974) 2024-10-29 02:11:31 +00:00
flake8_pie [`flake8-pie`] Avoid false positive for multiple assignment with `auto()` (`PIE796`) (#17274) 2025-04-08 15:53:27 -04:00
flake8_print Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_pyi [`flake8-pyi`] Mark `PYI030` fix unsafe when comments are deleted (#16322) 2025-02-23 21:22:14 +00:00
flake8_pytest_style [`flake8-pytest-style`] Avoid false positive for legacy form of `pytest.raises` (`PT011`) (#17231) 2025-04-08 09:24:47 +02:00
flake8_quotes Add semantic model flag when inside f-string replacement field (#10766) 2024-04-04 09:08:48 +05:30
flake8_raise Avoid false-positives for parens-on-raise with futures.exception() (#10206) 2024-03-03 00:28:51 +00:00
flake8_return [`flake8-return`] Recognize functions returning `Never` as non-returning (`RET503`) (#15298) 2025-01-07 07:57:34 +00:00
flake8_self [`flake8-self`] Ignore attribute accesses on instance-like variables (`SLF001`) (#16149) 2025-02-23 10:00:49 +00:00
flake8_simplify Exempt unittest context methods for SIM115 rule (#16439) 2025-02-28 16:29:50 +00:00
flake8_slots Avoid recommending `__slots__` for classes that inherit from more than `namedtuple` (#12531) 2024-07-26 14:24:40 +00:00
flake8_tidy_imports Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
flake8_todos [`flake8-todos`] Allow VSCode GitHub PR extension style links in `missing-todo-link` (`TD003`) (#15519) 2025-01-15 23:47:33 +00:00
flake8_type_checking Consider all `TYPE_CHECKING` symbols for type-checking blocks (#16669) 2025-03-13 15:37:37 +01:00
flake8_unused_arguments Consider `__new__` methods as special function type for enforcing class method or static method rules (#13305) 2025-02-16 14:12:25 -06:00
flake8_use_pathlib [`flake8-bandit`] Check for `builtins` instead of `builtin` (`S102`, `PTH123`) (#15443) 2025-01-12 19:45:31 -05:00
flynt Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
isort enforce required imports even with useless alias (#14287) 2024-11-14 15:39:38 -06:00
mccabe Rename `ruff` crate to `ruff_linter` (#7529) 2023-09-20 08:38:27 +02:00
numpy Ignore `NPY201` inside `except` blocks for compatibility with older numpy versions (#12490) 2024-07-24 20:03:23 +00:00
pandas_vet Limit inplace diagnostics to methods that accept inplace (#9495) 2024-01-12 14:12:54 -05:00
pep8_naming [`pep8-naming`] Consider any number of leading underscore for `N801` (#15988) 2025-02-06 14:08:27 +05:30
perflint [`perflint`] Parenthesize walrus expressions in autofix for `manual-list-comprehension` (`PERF401`) (#15050) 2024-12-19 06:56:45 -06:00
pycodestyle [pycodestyle] Exempt `site.addsitedir(...)` calls (E402) (#16251) 2025-02-19 14:31:47 +01:00
pydoclint Fix typos found by codespell (#14863) 2024-12-09 09:32:12 +00:00
pydocstyle [`pydocstyle`] Handle arguments with the same names as sections (`D417`) (#16011) 2025-02-11 12:05:29 -05:00
pyflakes Add new rule RUF059: Unused unpacked assignment (#16449) 2025-03-03 10:51:36 +01:00
pygrep_hooks Respect per-file ignores for blanket and redirected noqa rules (#11728) 2024-06-04 03:57:59 +00:00
pylint [syntax-errors] `await` outside async functions (#17363) 2025-04-14 13:01:48 -04:00
pyupgrade [`pyupgrade`] Do not offer fix when at least one target is `global`/`nonlocal` (`UP028`) (#16451) 2025-03-04 11:28:01 +01:00
refurb [`refurb`] Fix starred expressions fix (`FURB161`) (#16550) 2025-03-19 17:43:58 -04:00
ruff Fix RUF100 to detect unused file-level noqa directives with specific codes (#17042) (#17061) 2025-04-07 09:21:52 -05:00
syntax_errors [syntax-errors] `return` outside function (#17300) 2025-04-11 17:05:54 +00:00
tryceratops Recode `TRY302` to `TRY203` (#13502) 2024-10-17 16:35:12 +01:00
__init__.py [`pylint`] (Re-)Implement `import-private-name` (`C2701`) (#9553) 2024-01-16 14:03:11 -05:00