diff --git a/Lib/inspect.py b/Lib/inspect.py index e52d86e5cc9..9f4d0055d34 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -2377,6 +2377,8 @@ class BoundArguments: Dict of keyword arguments values. """ + __slots__ = ('arguments', '_signature', '__weakref__') + def __init__(self, signature, arguments): self.arguments = arguments self._signature = signature @@ -2443,6 +2445,13 @@ def __eq__(self, other): self.signature == other.signature and self.arguments == other.arguments) + def __setstate__(self, state): + self._signature = state['_signature'] + self.arguments = state['arguments'] + + def __getstate__(self): + return {'_signature': self._signature, 'arguments': self.arguments} + class Signature: """A Signature object represents the overall signature of a function.