classification
Title: copyreg doesn't support keyword only arguments in __new__
Type: enhancement Stage: needs patch
Components: Library (Lib) Versions: Python 3.4
process
Status: open Resolution:
Dependencies: 17810 Superseder:
Assigned To: Nosy List: alexandre.vassalotti, belopolsky, erickt, jcea
Priority: normal Keywords:

Created on 2008-12-23 02:35 by erickt, last changed 2014-02-03 15:44 by BreamoreBoy.

Messages (4)
msg78222 - (view) Author: Erick Tryzelaar (erickt) Date: 2008-12-23 02:35
According to both of these bugs:

http://bugs.python.org/issue1398
http://bugs.python.org/issue4331

pickle can't pickle functools.partial objects. It looks the underlying 
reason is that objects that pickle can't handle objects with __new__ and 
keyword only arguments. To support this, would this require a new pickle 
protocol and a __getnewfullargs__ that returns a tuple and dict?
msg109264 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2010-07-04 20:42
http://bugs.python.org/issue1398 has already been fixed and closed.
http://bugs.python.org/issue4331 is still open and has seen activity as recently as 2010-02-23, so can this be closed or must it remain open?
msg109266 - (view) Author: Alexander Belopolsky (belopolsky) * (Python committer) Date: 2010-07-04 21:12
Please keep this open.  This issue is separate from pickling partial objects.
msg204973 - (view) Author: Alexandre Vassalotti (alexandre.vassalotti) * (Python committer) Date: 2013-12-01 22:07
PEP 3154 implemented support for pickling classes taking keyword-only arguments.

The copy module should be updated to use __getnewargs_ex__ when available through object.__reduce__(4).
History
Date User Action Args
2014-02-03 15:44:32BreamoreBoysetnosy: - BreamoreBoy
2013-12-01 22:07:37alexandre.vassalottisetsuperseder: Implement PEP 3154 (pickle protocol 4) ->
2013-12-01 22:07:28alexandre.vassalottisetnosy: + alexandre.vassalotti
title: pickle/copyreg doesn't support keyword only arguments in __new__ -> copyreg doesn't support keyword only arguments in __new__
messages: + msg204973

versions: + Python 3.4, - Python 3.2
superseder: Implement PEP 3154 (pickle protocol 4)
2013-05-02 22:10:14alexandre.vassalottisetdependencies: + Implement PEP 3154 (pickle protocol 4)
2011-12-11 01:27:06jceasetnosy: + jcea
2010-07-04 21:12:26belopolskysetstage: needs patch
versions: + Python 3.2, - Python 3.1, Python 2.7
2010-07-04 21:12:01belopolskysetnosy: + belopolsky
messages: + msg109266
2010-07-04 20:42:59BreamoreBoysetnosy: + BreamoreBoy
messages: + msg109264
2008-12-23 02:35:02ericktcreate