-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
PEP 649: Improve description of semantics and mark as accepted #3138
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
PEP 649: Improve description of semantics and mark as accepted #3138
Conversation
* Stipulate that name resolution for annotations under 649 must be *identical* to stock semantics. * *Don't* specify exactly the mechanism that conformant implementations must use to implement 649. Instead, *do* describe how CPython might do it, but leave the actual details of how to implement 649 up to each language implementation. * Incorporate Jelle's suggestion that the formats for inspect.get_annotations() be in an enum.IntEnum.
A minor suggestion brought over from #3127: maybe we should drop FORMAT_MIN and FORMAT_MAX? I don't see much use for them if there is an enum; if you really want these values you can do |
FWIW, I duplicated some work in this PR that was already in another PR, #3127. Having made the mistake, it seemed easiest to close the other PEP and do everything in this one PR. Sorry for the miasma. |
Done. Iterating over the enum is a better solution. |
…ython#3122) - Lazy evaluation means that referencing a later type variable works at runtime - Disallow walrus in TypeVar bounds, and also disallow yield/yield from/await in the same contexts - Remove rejection of lambda lifting; that is the implementation we are using now - Change the AST - Change of direction on mangling - More precise scoping rules Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Huh? GitHub decided to request Guido and Thomas as reviewers. I didn't ask for that. I've removed Guido and Thomas from review requests--obviously, they're welcome to review the PR, but I don't think it's necessary. Sorry for the churn, folks. |
I think you incorrectly merged in the two most recent commits on the main branch (which happen to be on 693 and 695). I'm going to click the "Update branch" button to get those commits out of the PR branch. |
Thanks, Jelle. Thank goodness Git is so conceptually simple and easy to use! |
@AA-Turner, on the other thread you said "does this list need updating?" with regards to the format IntEnums, and I didn't know what you meant. I just now noticed: in one section, the FORWARDREF enum is 2, and in another section it's 3. Is that what you were referring to? (And, of course, I'm fixing that now. Time to pick the final values!) |
I was referring to the repr for A |
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.
Left some additional comments, but I don't feel super strongly about any of them; generally this looks good to me!
Somehow I'm unable to reply directly to Carl's most recent comment. He said:
There are not, and I expect everyone to use the enum values. I was just trying to be precise. But, we already defined the allowable values for
|
Fingers crossed that we can ship 72b8183. I believe I've addressed everybody's comments (and basically incorporated everyone's suggestions). |
In the words of the rare "Big Bang Bar" pinball machine:
|
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.
All the changes look good to me, thanks!
Technically, changes to accepted PEPs need SC approval. I doubt the SC would have a big problem with anything in this PR, but ideally you'll have to get their signoff. Who knows, maybe they'll insist that we really need that __locals__
attribute on functions.
Good call. I'll ping them once we're collectively happy with these changes. I bet we'll get a quick rubber stamp, and then I'll merge. |
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.
Changes look good to me!
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.
Standard reminder: You can directly apply all the suggestions you want in one go by going to Files changed
-> Clicking Add to batch on each suggestion -> When done, clicking Commit
It should be noted that with this PR, the PEP is marked as accepted—I've updated the title accordingly to note this key fact.
Accepted PEP checklist:
- SC/PEP Delegate has formally accepted/rejected the PEP and posted to the
Discussions-To
thread - Pull request title in appropriate format (
PEP 123: Mark as Accepted
) -
Status
changed toAccepted
/Rejected
-
Resolution
link points directly to SC/PEP Delegate official acceptance/rejected post -
Acceptance/rejection notice added, if the SC/PEP delegate had major conditions or commentsN/A besides updating thePython-Version
-
Discussions-To
,Post-History
andPython-Version
up to date [Done in suggestions]
|
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Emily Morehouse <emilyemorehouse@gmail.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
📚 Documentation preview 📚: https://pep-previews--3138.org.readthedocs.build/