Closed
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