Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
gh-101561: Add typing.override decorator#101564
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
bedevere-bot commentedFeb 4, 2023
Most changes to Pythonrequire a NEWS entry. Please add it using theblurb_it web app or theblurb command-line tool. |
bedevere-bot commentedFeb 4, 2023
Most changes to Pythonrequire a NEWS entry. Please add it using theblurb_it web app or theblurb command-line tool. |
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.
Thanks! Haven't looked in depth yet at all, but we'll also need:
- A news entry, as@bedevere-bot says
- An entry in
Doc/whatsnew/3.12.rst
- (optionally) you can add your name to
Misc/ACKS
Uh oh!
There was an error while loading.Please reload this page.
Misc/NEWS.d/next/Library/2023-02-04-16-35-46.gh-issue-101561.Xo6pIZ.rst OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
The implementation for override LGTM. |
Summary:THe `typing_extensions.override` was added a few months ago,we should support it.The `typing.override` decorator isn't landed yet, but that's okay - weshould support it in override checks; it will still raise a "no such name"method when Pyre is being run against a typeshed that doens't have it yet.The PR to add `typing.override` to CPython is out for review now:https://github.com/python/cpython/pull/101564`Reviewed By: grievejiaDifferential Revision: D43055550fbshipit-source-id: 3f51f643063afea75bf54ef38ae3a48681b99bd9
Testing:First set up the repo, following instructionsathttps://devguide.python.org/ by running:```./configure --with-pydebug && make -j```Then run the typing tests:```./python -m test test_typing -v```I ran the full test suite with```./python -m test -j3```and it came back clean except for a `test_grp` failure which I seem toget on trunk as well - likely something in my build is misconfiguredbut I'm pretty sure it is unrelated to the changes here.
Correct `s/final/override` (from reusing a similar block of documentation on the `@final` decorator)Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Summary:Test Plan:Reviewers:Subscribers:Tasks:Tags:
Summary:Test Plan:Reviewers:Subscribers:Tasks:Tags:
Summary:Test Plan:Reviewers:Subscribers:Tasks:Tags:
…o6pIZ.rstCo-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Summary:Test Plan:Reviewers:Subscribers:Tasks:Tags:
4a04527
to090d9d2
Compare(Rebase on main) @gvanrossum Ithink this is waiting on review from you |
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.
Sorry for dropping this; I have a few nits but I'm happy to merge the PR. I'll leave it open for a few days in case Guido does want to take a look himself.
Uh oh!
There was an error while loading.Please reload this page.
Misc/NEWS.d/next/Library/2023-02-04-16-35-46.gh-issue-101561.Xo6pIZ.rst OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
I defer to@JelleZijlstra if that's okay. |
Thanks, looks goodCo-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
sobolevn commentedFeb 28, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Sorry for being late with a review, I've opened a follow-up for this:#102324 Thanks a lot for adding this decorator! Great work, it would be very useful! 👍 |
* main: (67 commits)pythongh-99108: Add missing md5/sha1 defines to Modules/Setup (python#102308)pythongh-100227: Move _str_replace_inf to PyInterpreterState (pythongh-102333)pythongh-100227: Move the dtoa State to PyInterpreterState (pythongh-102331)pythonGH-102305: Expand some macros in generated_cases.c.h (python#102309) Migrate to new PSF mailgun account (python#102284)pythongh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (in Python/) (python#102193)pythonGH-90744: Fix erroneous doc links in the sys module (python#101319)pythongh-87092: Make jump target label equal to the offset of the target in the instructions sequence (python#102093)pythongh-101101: Unstable C API tier (PEP 689) (pythonGH-101102) IDLE: Simplify DynOptionsMenu __init__code (python#101371)pythongh-101561: Add typing.override decorator (python#101564)pythongh-101825: Clarify that as_integer_ratio() output is always normalized (python#101843)pythongh-101773: Optimize creation of Fractions in private methods (python#101780)pythongh-102251: Updates to test_imp Toward Fixing Some Refleaks (pythongh-102254)pythongh-102296 Document that inspect.Parameter kinds support ordering (pythonGH-102297)pythongh-102250: Fix double-decref in COMPARE_AND_BRANCH error case (pythonGH-102287)pythongh-101100: Fix sphinx warnings in `types` module (python#102274)pythongh-91038: Change default argument value to `False` instead of `0` (python#31621)pythongh-101765: unicodeobject: use Py_XDECREF correctly (python#102283) [doc] Improve grammar/fix missing word (pythonGH-102060) ...
Uh oh!
There was an error while loading.Please reload this page.
The code is pulled almost unchanged from
typing_extensions
:Question that came up was where to put the type variable and what to name it:
typing_extensions
the type variables use underscore prefixes to indicate that they are not public, buttyping
doesn't appear to use that convention so I named the type variableF
.Callable
which is defined below. If this is a problem I could correct it using a forward reference, or we could try to rearrange the module to put special forms above type variables.Testing the code:
First set up the repo, following instructions
athttps://devguide.python.org/ by running:
Then run the typing tests:
I ran the full test suite with
and it came back clean except for a
test_grp
failure which I seem to get on trunk as well - likely something in my build is misconfigured but I'm pretty sure it is unrelated to the changes here.Make sure the docs build: