This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: copyreg doesn't support keyword only arguments in __new__
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.5
process
Status: closed Resolution: fixed
Dependencies: 17810 Superseder:
Assigned To: serhiy.storchaka Nosy List: alexandre.vassalotti, belopolsky, erickt, jcea, python-dev, serhiy.storchaka
Priority: normal Keywords: patch

Created on 2008-12-23 02:35 by erickt, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
copy_getnewargs_ex.patch serhiy.storchaka, 2015-02-06 22:27 review
Messages (7)
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).
msg235503 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-02-06 22:27
Here is a patch.
msg239178 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-03-24 20:37
New changeset 83cbf61a972b by Serhiy Storchaka in branch 'default':
Issue #4727: Fixed issue number in Misc/NEWS.
https://hg.python.org/cpython/rev/83cbf61a972b
msg239179 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-03-24 20:38
The patch actually was committed in changeset 34930a6faf0d.
History
Date User Action Args
2022-04-11 14:56:43adminsetgithub: 48977
2015-03-24 20:38:48serhiy.storchakasetmessages: + msg239179
2015-03-24 20:37:53python-devsetnosy: + python-dev
messages: + msg239178
2015-03-24 16:08:11serhiy.storchakasetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2015-03-24 16:03:20serhiy.storchakasetassignee: serhiy.storchaka
2015-02-06 22:27:25serhiy.storchakasetfiles: + copy_getnewargs_ex.patch

versions: + Python 3.5, - Python 3.4
keywords: + patch
nosy: + serhiy.storchaka

messages: + msg235503
stage: needs patch -> patch review
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