Message289879
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)
``` |
|
Date |
User |
Action |
Args |
2017-03-20 09:19:13 | anton-ryzhov | set | recipients:
+ anton-ryzhov |
2017-03-20 09:19:13 | anton-ryzhov | set | messageid: <1490001553.25.0.894325859627.issue29858@psf.upfronthosting.co.za> |
2017-03-20 09:19:13 | anton-ryzhov | link | issue29858 messages |
2017-03-20 09:19:12 | anton-ryzhov | create | |
|