[New-bugs-announce] [issue38854] Decorator breaks inspect.getsource
Guido Imperiale
report at bugs.python.org
Tue Nov 19 16:37:42 EST 2019
New submission from Guido Imperiale <crusaderky at gmail.com>:
Python 3.7.5 and 3.8.0
A decorator causes inspect.getsource() to return clipped output:
from collections import defaultdict
from functools import wraps
import inspect
def foo(*args):
def decorator(func):
@wraps(func)
def wrapper():
pass
return wrapper
return decorator
@foo(dict(), defaultdict(lambda: 1))
def f():
pass
print(inspect.getsource(f))
Output:
@foo(dict(), defaultdict(lambda: 1))
Expected output:
@foo(dict(), defaultdict(lambda: 1))
def f():
pass
These changes to the decorator parameters cause the problem to disappear:
- @foo({}, defaultdict(lambda: 1))
- @foo(dict(), defaultdict(list))
----------
messages: 356993
nosy: crusaderky
priority: normal
severity: normal
status: open
title: Decorator breaks inspect.getsource
versions: Python 3.7, Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue38854>
_______________________________________
More information about the New-bugs-announce
mailing list