Skip to content
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

gh-130881: Handle conditionally defined annotations #130935

Merged
merged 11 commits into from
Mar 26, 2025

Conversation

JelleZijlstra
Copy link
Member

@JelleZijlstra JelleZijlstra commented Mar 7, 2025

@JelleZijlstra
Copy link
Member Author

Thanks @picnixz @tomasr8 for the reviews, please take another look!

@picnixz picnixz self-requested a review March 12, 2025 14:42
Copy link
Member

@picnixz picnixz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I won't force you to follow PEP-7 as the file has a mix of everything which makes it very hard to choose a convention. You can also ignore my suggestion in symtable.c if you think it's not necessary and if the surrounding code is using the same writing style.

@JelleZijlstra JelleZijlstra requested a review from picnixz March 14, 2025 02:29
Copy link
Member

@picnixz picnixz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I reviewed the changes, though I'm not entirely sure about the tests themselves so another eye is welcome

@tomasr8
Copy link
Member

tomasr8 commented Mar 14, 2025

Once this is merged, should the text in PEP 649 be updated to reflect this change?

Code that sets annotations on module or class attributes from inside any kind of flow control statement. It’s currently possible to set module and class attributes with annotations inside an if or try statement, and it works as one would expect. It’s untenable to support this behavior when this PEP is active.

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Copy link
Member

@tomasr8 tomasr8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some comments/questions for the tests, otherwise looks good :)

@JelleZijlstra
Copy link
Member Author

Once this is merged, should the text in PEP 649 be updated to reflect this change?

Code that sets annotations on module or class attributes from inside any kind of flow control statement. It’s currently possible to set module and class attributes with annotations inside an if or try statement, and it works as one would expect. It’s untenable to support this behavior when this PEP is active.

I don't own PEP 649 so I can't update it. Could add it to PEP 749 but I already submitted it to the SC.

Copy link
Member

@tomasr8 tomasr8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Looks good to me :)

@tomasr8
Copy link
Member

tomasr8 commented Mar 16, 2025

Once this is merged, should the text in PEP 649 be updated to reflect this change?

Code that sets annotations on module or class attributes from inside any kind of flow control statement. It’s currently possible to set module and class attributes with annotations inside an if or try statement, and it works as one would expect. It’s untenable to support this behavior when this PEP is active.

I don't own PEP 649 so I can't update it. Could add it to PEP 749 but I already submitted it to the SC.

Larry is the owner. @larryhastings should the PEP be updated?

@larryhastings
Copy link
Contributor

Accepted PEPs are historical documents; as a rule I'm averse to changing them after they're accepted. PEP 749 is the perfect place to document this change to what's specified in 649.

Copy link
Member

@picnixz picnixz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two nits I missed but otherwise, looks good to me

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
@JelleZijlstra JelleZijlstra enabled auto-merge (squash) March 26, 2025 03:21
@JelleZijlstra JelleZijlstra merged commit 898e6b3 into python:main Mar 26, 2025
42 checks passed
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants