[issue24485] Function source inspection fails on closures
Terry J. Reedy
report at bugs.python.org
Fri Jun 26 21:43:43 CEST 2015
Terry J. Reedy added the comment:
I verified (Win7, but should be irrelevant) that test.py works on 2.7.10 and 3.4.3. The failure in 3.5.0b2 is omitting the body of inner. Add another line to inner and both are omitted, so 'body' seems correct Add another line to outer, and nothing is omitted.
def outer():
def inner():
inner1
inner2
outer2
is displayed completely. So the omission is the body of an inner function that is the last statement of outer. This rule is not recursive, in the sense that for
def outer():
def middle():
def inner():
inner1
"def inner ..." is entirely omitted, not just 'inner1'. The omission seems specific to 'def' as it does not occur with the other compound statements I tested (if, while).
----------
nosy: +terry.reedy
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24485>
_______________________________________
More information about the Python-bugs-list
mailing list