Skip to content

Comments

[flake8-simplify] Do not emit diagnostics for expressions inside string type annotations (SIM222, SIM223)#15405

Merged
dhruvmanila merged 2 commits intoastral-sh:mainfrom
InSyncWithFoo:SIM222
Jan 17, 2025
Merged

[flake8-simplify] Do not emit diagnostics for expressions inside string type annotations (SIM222, SIM223)#15405
dhruvmanila merged 2 commits intoastral-sh:mainfrom
InSyncWithFoo:SIM222

Conversation

@InSyncWithFoo
Copy link
Contributor

Summary

Resolves #7127.

Test Plan

cargo nextest run and cargo insta test.

…ring type annotations (`SIM222`, `SIM223`)
@github-actions
Copy link
Contributor

github-actions bot commented Jan 10, 2025

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

@charliermarsh
Copy link
Member

I think we should still emit diagnostics here; we just may not want to offer a fix.

@dhruvmanila dhruvmanila added the bug Something isn't working label Jan 16, 2025
Copy link
Member

@dhruvmanila dhruvmanila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with Charlie that we should keep highlighting this but avoid providing a fix. As such, this is an invalid type expression.

@InSyncWithFoo
Copy link
Contributor Author

"'spline' or 'linear'" is not just an invalid type expression; It is a quoted invalid type expression. Such strings are very likely not intended to be type hints and would not benefit from an expression simplification.

It should be up to F722, F821 and other rules as well as type checkers to determine what to do with them.

Copy link
Member

@dhruvmanila dhruvmanila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related #10586

I thought about this more and I think this should be fine. We've done this kind of fixes before.

@dhruvmanila dhruvmanila merged commit 556116e into astral-sh:main Jan 17, 2025
21 checks passed
@InSyncWithFoo InSyncWithFoo deleted the SIM222 branch January 17, 2025 12:52
dcreager added a commit that referenced this pull request Jan 17, 2025
* main:
  [red-knot] Inline `SubclassOfType::as_instance_type_of_metaclass()` (#15556)
  [`flake8-comprehensions`] strip parentheses around generators in `unnecessary-generator-set` (`C401`) (#15553)
  [`pylint`] Implement `redefined-slots-in-subclass` (`W0244`) (#9640)
  [`flake8-bugbear`] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (`B903`) (#15549)
  [red-knot] `type[T]` is disjoint from `type[S]` if the metaclass of `T` is disjoint from the metaclass of `S` (#15547)
  [red-knot] Pure instance variables declared in class body (#15515)
  Update snapshots of #15507 with new annotated snipetts rendering (#15546)
  [`pylint`] Do not report methods with only one `EM101`-compatible `raise` (`PLR6301`) (#15507)
  Fix unstable f-string formatting for expressions containing a trailing comma (#15545)
  Support `knot.toml` files in project discovery (#15505)
  Add support for configuring knot in `pyproject.toml` files (#15493)
  Fix bracket spacing for single-element tuples in f-string expressions (#15537)
  [`flake8-simplify`] Do not emit diagnostics for expressions inside string type annotations (`SIM222`, `SIM223`) (#15405)
  [`flake8-pytest-style`] Do not emit diagnostics for empty `for` loops (`PT012`, `PT031`) (#15542)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rule SIM222 cause autofix error

3 participants