Open
Description
I believe this is a bug.
Here is an example:
from functools import cached_property
import pickle
import cloudpickle
class MyExample:
def __init__(self, foo):
self.foo = foo
@cached_property
def bar(self) -> int:
return self.foo * 3
example = MyExample(2)
pickle.dumps(example) # works
cloudpickle.dumps(example) # crashes
This fails with TypeError: cannot pickle '_thread.RLock' object
.