-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[ty] Add support for @staticmethod
s
#18809
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
Conversation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great, thank you! Good idea to pull this out of #18587
mypy_primer will look bad since the new code allows ty to check more code.
Most of the 800+ new diagnostics come from the fact that we now understand Apprise.instantiate
, and properly return a NotifyBase
instance (instead of Unknown
). Unfortunately, the stubs for NotifyBase
are a bit ... minimalistic. This is strange.. it would be better to have no stub file than to have this completely wrong stub? I'm afraid this is something that would have to be fixed in that project, but maybe @AlexWaygood has some suggestions here?
Wow, that is odd. But yeah, I don't think there's anything we can do here unfortunately :-( that's something the Apprise project has to take responsibility for. |
* main: (21 commits) [`flake8-logging`] Avoid false positive for `exc_info=True` outside `logger.exception` (`LOG014`) (#18737) [`flake8-pie`] Small docs fix to `PIE794` (#18829) [`pylint`] Ignore __init__.py files in (PLC0414) (#18400) Avoid generating diagnostics with per-file ignores (#18801) [`flake8-simplify`] Fix false negatives for shadowed bindings (`SIM910`, `SIM911`) (#18794) [ty] Fix panics when pulling types for `ClassVar` or `Final` parameterized with >1 argument (#18824) [`pylint`] add fix safety section (`PLR1714`) (#18415) [Perflint] Small docs improvement to `PERF401` (#18786) [`pylint`] Avoid flattening nested `min`/`max` when outer call has single argument (`PLW3301`) (#16885) [`ruff`] Added `cls.__dict__.get('__annotations__')` check (`RUF063`) (#18233) [ty] Use `HashTable` in `PlaceTable` (#18819) docs: Correct collections-named-tuple example to use PascalCase assignment (#16884) [ty] ecosystem-analyzer workflow (#18719) [ty] Add support for `@staticmethod`s (#18809) unnecessary_dict_kwargs doc - a note on type checking benefits (#18666) [`flake8-pytest-style`] Mark autofix for `PT001` and `PT023` as unsafe if there's comments in the decorator (#18792) [ty] Surface matched overload diagnostic directly (#18452) [ty] Report when a dataclass contains more than one `KW_ONLY` field (#18731) [`flake8-pie`] Add fix safety section to `PIE794` (#18802) [`pycodestyle`] Add fix safety section to `W291` and `W293` (#18800) ...
Summary
Add support for
@staticmethod
s. Overall, the changes are very similar to #16305.#18587 will be dependent on this PR for a potential fix of astral-sh/ty#207.
mypy_primer will look bad since the new code allows ty to check more code.
Test Plan
Added new markdown tests. Please comment if there's any missing tests that I should add in, thank you.