Issue #17071: Signature.bind() now works when one of the keyword arguments is named ``self``.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 88f0ee2..7a7bb91 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -2028,19 +2028,19 @@
return self._bound_arguments_cls(self, arguments)
- def bind(self, *args, **kwargs):
+ def bind(__bind_self, *args, **kwargs):
'''Get a BoundArguments object, that maps the passed `args`
and `kwargs` to the function's signature. Raises `TypeError`
if the passed arguments can not be bound.
'''
- return self._bind(args, kwargs)
+ return __bind_self._bind(args, kwargs)
- def bind_partial(self, *args, **kwargs):
+ def bind_partial(__bind_self, *args, **kwargs):
'''Get a BoundArguments object, that partially maps the
passed `args` and `kwargs` to the function's signature.
Raises `TypeError` if the passed arguments can not be bound.
'''
- return self._bind(args, kwargs, partial=True)
+ return __bind_self._bind(args, kwargs, partial=True)
def __str__(self):
result = []