mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-06 19:58:44 +00:00
![]()
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (windows) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (release) (push) Waiting to run
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary Closes #17226. This PR updates the `FAST003` rule to correctly handle [FastAPI class dependencies](https://fastapi.tiangolo.com/tutorial/dependencies/classes-as-dependencies/). Specifically, if a path parameter is declared in either: - a `pydantic.BaseModel` used as a dependency, or - the `__init__` method of a class used as a dependency, then `FAST003` will no longer incorrectly report it as unused. FastAPI allows a shortcut when using annotated class dependencies - `Depends` can be called without arguments, e.g.: ```python class MyParams(BaseModel): my_id: int @router.get("/{my_id}") def get_id(params: Annotated[MyParams, Depends()]): ... ``` This PR ensures that such usage is properly supported by the linter. Note: Support for dataclasses is not included in this PR. Let me know if you’d like it to be added. ## Test Plan Added relevant test cases to the `FAST003.py` fixture. |
||
---|---|---|
.. | ||
test | ||
__init__.py |