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.

Author serhiy.storchaka
Recipients alexandre.vassalotti, barry, dangyogi, serhiy.storchaka
Date 2017-04-16.06:34:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1492324464.03.0.864460847275.issue29902@psf.upfronthosting.co.za>
In-reply-to
Content
What are your thoughts Barry? staticmethod, classmethod and property objects are incorrectly pickled in 2.7 and 3.5 (they are not pickleable in 3.6+). Making them not pickleable in 2.7 and 3.5 can help to catch programming errors.

But this can break the code that "just works" (actually works incorrectly) if it pickles or deepcopies complex objects containing staticmethod, classmethod or property objects, but never use it. Similar situation happened in issue22995 with Cython objects.

Maybe emitting a warning rather than an exception would be safer? But deprecation warnings are ignored by default.
History
Date User Action Args
2017-04-16 06:34:24serhiy.storchakasetrecipients: + serhiy.storchaka, barry, alexandre.vassalotti, dangyogi
2017-04-16 06:34:24serhiy.storchakasetmessageid: <1492324464.03.0.864460847275.issue29902@psf.upfronthosting.co.za>
2017-04-16 06:34:24serhiy.storchakalinkissue29902 messages
2017-04-16 06:34:23serhiy.storchakacreate