Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Open
Description
There are various places in the stdlib where we access the.__annotations__ attribute. UnderPEP-649 /PEP-749, this now forces evaluation of lazy annotations. We should avoid evaluating annotations where it is not necessary.
For example, currentlytyping.Protocol evaluates its annotations at protocol creation time.
Linked PRs
- gh-132493: Support deferred annotations in Protocols #132494
- gh-132493: lazy evaluation of annotations in
typing._proto_hook#132534 - gh-132493: Avoid eager import of annotationlib in typing (again) #132596
- gh-132493: Avoid eager evaluation of annotations in
@reprlib.recursive_repr()#133411 - gh-132493: Remove __annotations__ usage in inspect._signature_is_functionlike #133415
- [3.14] gh-132493: Remove __annotations__ usage in inspect._signature_is_functionlike (GH-133415) #133796