-
Notifications
You must be signed in to change notification settings - Fork 179
Closed
Description
Using 0.3.1 the following code
import cloudpickle
class Base:
def __init__(self, field1):
self.field1 = field1
class Child(Base):
def __init__(self, field2, field1):
super().__init__(field1)
self.field2 = field2
def test_function():
_ = Child('field-2-value', 'field-1-value')
_ = cloudpickle.dumps(test_function)
results in stacktrace:
Traceback (most recent call last):
File "<removed path>/experiment_cloudpickle.py", line 18, in <module>
_ = cloudpickle.dumps(test_function)
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 829, in dumps
cp.dump(obj)
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 233, in dump
return Pickler.dump(self, obj)
File <removed path>\Continuum\Miniconda3\lib\pickle.py", line 408, in dump
self.save(obj)
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 475, in save
f(self, obj) # Call unbound method with explicit self
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 354, in save_function
self.save_function_tuple(obj)
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 436, in save_function_tuple
save(f_globals)
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 475, in save
f(self, obj) # Call unbound method with explicit self
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 814, in save_dict
self._batch_setitems(obj.items())
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 845, in _batch_setitems
save(v)
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 475, in save
f(self, obj) # Call unbound method with explicit self
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 548, in save_global
self.save_reduce(typ, (obj.__name__, obj.__bases__, d), obj=obj)
File "<removed path>\Continuum\Miniconda3\lib\site-packages\cloudpickle\cloudpickle.py", line 713, in save_reduce
self.memoize(obj)
File "<removed path>\Continuum\Miniconda3\lib\pickle.py", line 429, in memoize
assert id(obj) not in self.memo
AssertionError
Metadata
Metadata
Assignees
Labels
No labels