New submission from anton-ryzhov: If we wrap function with bound method, which is also a wrapper around function, `inspect.signature` will not do `skip_bound_arg`. It will use `inspect.unwrap` and pass by bound method from outer function to inner one.
Reproduce: ``` import functools, inspect def decorator(func): @functools.wraps(func) def inner(*args): return func(*args) return inner class Foo(object): @decorator def bar(self, testarg): pass f = Foo() baz = decorator(f.bar) assert inspect.signature(baz) == inspect.signature(f.bar) ``` ---------- components: Library (Lib) messages: 289879 nosy: anton-ryzhov priority: normal severity: normal status: open title: inspect.signature includes bound argument for wrappers around decorated bound methods versions: Python 3.3, Python 3.4, Python 3.5, Python 3.6, Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29858> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com