This is a case:

class C(object):
    def __new__(cls, *, b):
        inst = super().__new__(cls)
        inst.b = b
        return inst

>>> c = C(b=17)
>>> image = pickle.dumps(c, protocol=3)
>>> c = pickle.loads(image)
Traceback (most recent call last):
  File "test_new.py", line 17, in <module>
    c = pickle.loads(image)
  File "D:\Python30\lib\pickle.py", line 1329, in loads
    return Unpickler(file, encoding=encoding, errors=errors).load()
TypeError: __new__() needs keyword-only argument b

Do we need to improve pickle protocol in order to allow instance
creation functions get keyword arguments too?

Best regards,
Zaur
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to