bootstrap.py imports from __future__ import annotations; compile(wrapped) was inheriting that PEP 563 flag, stringifying the program's type annotations and changing the semantics of a legal program that reads f.__annotations__ at runtime. compile(..., dont_inherit=True) stops the leak; a regression test defines an annotated function and asserts the annotation is the live int class, verified fail-before by removing dont_inherit (the test turns red). |
||
|---|---|---|
| .. | ||
| bootstrap.py | ||
| protocol.py | ||