Bug report
Bug description:
import inspect def source_error(*args): frame = inspect.currentframe() if frame is None: return frame = frame.f_back if frame is None: return print(inspect.getsource(frame)) def demo(): loops = ( None for _ in [0] if source_error(True) ) list(loops) demo()
Expected output:
def demo():
loops = (
None for _ in [0] if source_error(True)
)
list(loops)
Actual output:
loops = (
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
- gh-137477: Extend regex pattern check in
inspect.findsource#137479 - gh-137477: Fix inspect.getblock() for generator expressions #137488
- [3.14] gh-137477: Fix inspect.getblock() for generator expressions (GH-137488) #137993
- [3.13] gh-137477: Fix inspect.getblock() for generator expressions (GH-137488) #137995