Open
Description
Bug report
Bug description:
The problem is with non-parameter-local-variable inner-function-references. In the code example, the 'c' in the line '0, a, c' is causing the problem (as described in this issue's title). Replacing '0, a, c' with '0, a' works just fine.
def fn1(a, b):
c = 0
d = 0
def fn2():
0, a, c
print()
print(fn1.__code__.co_nlocals) ### incorrect locals count
print(fn1.__code__.co_varnames) ### incorrect locals tuple
print(fn1.__code__.co_cellvars)
print(tuple(sorted( set(fn1.__code__.co_varnames) | set(fn1.__code__.co_cellvars) ))) ### correct (sorted) locals tuple
print()
CPython versions tested on:
3.13
Operating systems tested on:
Windows