From: Yashraj Date: Mon, 26 Jan 2026 13:38:23 +0000 (+0530) Subject: gh-143928: Remove outdated comparison between pickle and marshal regarding recursion... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=923d9d2ac23b583a7fb66e2867d8dcc07fec9a40;p=thirdparty%2FPython%2Fcpython.git gh-143928: Remove outdated comparison between pickle and marshal regarding recursion (#144025) --- diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 3a9b66ec7e70..7b0d979d61a3 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -56,19 +56,6 @@ files. The :mod:`pickle` module differs from :mod:`marshal` in several significant ways: -* The :mod:`pickle` module keeps track of the objects it has already serialized, - so that later references to the same object won't be serialized again. - :mod:`marshal` doesn't do this. - - This has implications both for recursive objects and object sharing. Recursive - objects are objects that contain references to themselves. These are not - handled by marshal, and in fact, attempting to marshal recursive objects will - crash your Python interpreter. Object sharing happens when there are multiple - references to the same object in different places in the object hierarchy being - serialized. :mod:`pickle` stores such objects only once, and ensures that all - other references point to the master copy. Shared objects remain shared, which - can be very important for mutable objects. - * :mod:`marshal` cannot be used to serialize user-defined classes and their instances. :mod:`pickle` can save and restore class instances transparently, however the class definition must be importable and live in the same module as