[PR #12744/c947145f backport][8.3.x] Replaced typing.Self
with typing_extensions.Self
#12746
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
This is a backport of PR #12744 as merged into main (c947145).
Fixes #11916 (comment)
Importing
Self
fromtyping
breaks the return type on Python 3.9 and under. You should be usingfrom typing_extension import Self
instead.For example, the following code:
Will error with
Returning Any from function declared to return "CheckdocsItem | None" [no-any-return]
on 3.8 & 3.9, but pass on 3.10+ Which can only be worked around by disabling the error entirely in mypy, or doing: