-
-
Notifications
You must be signed in to change notification settings - Fork 477
refactor: ♻️ Use typing_extensions.deprecated
instead of own implementation
#2655
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
refactor: ♻️ Use typing_extensions.deprecated
instead of own implementation
#2655
Conversation
@@ -340,12 +375,11 @@ def deprecated( | |||
since: str | None = None, | |||
removed: str | None = None, | |||
reference: str | None = None, | |||
stacklevel: int = 3, | |||
stacklevel: int = 1, |
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.
Why
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.
Typing's thing for some reason changes the levels in some way and to keep a correct stacktrace I had to change it. Admittedly I just tried and see.
Signed-off-by: Paillat <[email protected]>
Could smbd rerun readthedocs pls ? |
Done |
) -> Callable[[Callable[[P], T]], Callable[[P], T]]: | ||
"""A decorator implementation of :func:`warn_deprecated`. This will automatically call :func:`warn_deprecated` when | ||
the decorated function is called. | ||
) -> _typing_deprecated: |
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.
I should test if this is actually detected correctly by type checkers
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.
And?
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.
I forgot to check
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.
So it is not apparently, at least basedpyright. But in general imo this solution in this pr was kinda hacky. The thing is to solve #1917 we either have to give up the custom message thing, or give up it being picked up by type checkers.
Additionally, things like cached_slot_property
make it not be picked up by type checkers too.
I am going to rework this one differently because this doesn't work |
Summary
Information
fixes: Update utils.deprecated to use PEP 702 #1917
examples, ...).
Checklist
type: ignore
comments were used, a comment is also left explaining why.