-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed as not planned
Closed as not planned
Copy link
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)pendingThe issue will be closed if no feedback is providedThe issue will be closed if no feedback is providedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
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
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)pendingThe issue will be closed if no feedback is providedThe issue will be closed if no feedback is providedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error