Skip to content

Conversation

@JelleZijlstra
Copy link
Member

@JelleZijlstraJelleZijlstra commented May 20, 2024

This implements https://peps.python.org/pep-0649/#annotate-and-annotations. In separate PRs I will work on making the compiler synthesize __annotate__ functions.

@JelleZijlstraJelleZijlstra changed the title PEP 649: Add __annotate__ attributesgh-119180: PEP 649: Add __annotate__ attributesMay 20, 2024
@bedevere-appbedevere-appbot mentioned this pull request May 20, 2024
30 tasks
@JelleZijlstraJelleZijlstra requested a review from ambvMay 20, 2024 15:41
@AlexWaygoodAlexWaygood removed their request for review May 20, 2024 21:24
Copy link
Member

@picnixzpicnixz left a comment

Choose a reason for hiding this comment

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

Some comments. I'm wondering whether the error message "annotate returned a non-dict" could be changed to "annotate must return a dict" or "did not return a dict"

@JelleZijlstra
Copy link
MemberAuthor

Some comments. I'm wondering whether the error message "annotate returned a non-dict" could be changed to "annotate must return a dict" or "did not return a dict"

For comparison:

>>> iter(X()) Traceback (most recent call last): File "<python-input-4>", line 1, in <module> iter(X()) ~~~~^^^^^ TypeError: iter() returned non-iterator of type 'int' 

I think I'll make the __annotate__ errors similar.

Copy link
Member

@carljmcarljm left a comment

Choose a reason for hiding this comment

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

Looks good in general, a few comments.

I would prefer to remove the "set __annotate__ to None" behavior; I guess we would have to ask the Steering Council about that. Maybe not worth it unless we see it causing confusion in practice.

Sign up for freeto 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

@JelleZijlstra@carljm@picnixz@ambv