New submission from Guido Imperiale <crusade...@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 <rep...@bugs.python.org> <https://bugs.python.org/issue38854> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com