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 rhettinger
Recipients georg.brandl, pitrou, rhettinger, serhiy.storchaka, twouters
Date 2017-06-18.03:42:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1497757327.75.0.224565373856.issue30691@psf.upfronthosting.co.za>
In-reply-to
Content
> I wondering whether WeakSet should be made pickleable or 
> the __reduce__ method should be removed.

When considering whether to remove a method from long published code, if the method isn't broken, our guidance should come from whether user's have actually taken advantage of __reduce__.   Determining that answer involves searching published code (Google's code search used to be a good tool for this, now we've got Github's code search tools).  

In general, the burden is high for removing an existing feature (even if untested); otherwise, we risk breaking people's code for no good reason other than the joy that comes with churning code to solve an invented problem (one that has never arisen in real code and has never been reported by an actual user).

When considering whether to add pickle support, the bar is much lower.  Roughly the question is amounts to balancing the potential benefits (whether someone might need to pickle a weakset someday even though we have no evidence that anyone has ever wanted this) versus the costs (risk of introducing bugs, creating cross-version incompatabilities, increasing future maintenance costs, increasing the total code volume, etc).

If adding pickling capability is easy and clean, then it seems reasonable.   On the other hand, if it is even slightly tricky, we should skip adding a feature that no one has ever asked for.  The 
weak reference containers have long been a source of bugs, some of which were challenging to fix.
History
Date User Action Args
2017-06-18 03:42:07rhettingersetrecipients: + rhettinger, twouters, georg.brandl, pitrou, serhiy.storchaka
2017-06-18 03:42:07rhettingersetmessageid: <1497757327.75.0.224565373856.issue30691@psf.upfronthosting.co.za>
2017-06-18 03:42:07rhettingerlinkissue30691 messages
2017-06-18 03:42:06rhettingercreate