Skip to content

ForwardRef.evaluate() mishandles type_params #137226

@JelleZijlstra

Description

@JelleZijlstra

Bug report

Bug description:

The implementation of annotationlib.ForwardRef.evaluate handles its type_params argument in a complex yet incorrect way. Fixing this unfortunately leads to some test failures in typing.get_type_hints() because it does additional confusing things to the globals and locals. Still, I think we should fix the behavior of the new public .evaluate() method.

CPython versions tested on:

CPython main branch

Operating systems tested on:

No response

Linked PRs

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixes3.15new features, bugs and security fixesrelease-blockerstdlibPython modules in the Lib dirtopic-typingtype-bugAn unexpected behavior, bug, or error

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions