-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Labels
3.11only security fixesonly security fixes3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)triagedThe issue has been accepted as valid by a triager.The issue has been accepted as valid by a triager.type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Compiling the following code:
match 0:
case 0:
x: int = 1
generates
1 0 LOAD_CONST 0 (0)
2 2 LOAD_CONST 0 (0)
4 COMPARE_OP 2 (==)
6 POP_JUMP_IF_FALSE 12 (to 24)
3 8 LOAD_CONST 1 (1)
10 STORE_NAME 0 (x)
12 LOAD_NAME 1 (int)
14 LOAD_NAME 2 (__annotations__)
16 LOAD_CONST 2 ('x')
18 STORE_SUBSCR
20 LOAD_CONST 3 (None)
22 RETURN_VALUE
2 >> 24 LOAD_CONST 3 (None)
26 RETURN_VALUE
There is no SETUP_ANNOTATIONS
opcode generated despite the __annotations__
access later on. (Found via google/pytype#1435 - for some reason this does not generate a runtime error, but it does cause issues for tools like pytype.)
Your environment
cpython 3.10
Linked PRs
gpshead
Metadata
Metadata
Assignees
Labels
3.11only security fixesonly security fixes3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)triagedThe issue has been accepted as valid by a triager.The issue has been accepted as valid by a triager.type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error