From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sat, 18 Apr 2020 18:14:55 +0000 (-0700) Subject: bpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269) X-Git-Tag: v3.8.3rc1~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=020f2aaaea95aef6f54ab31488926ed76017e41a;p=thirdparty%2FPython%2Fcpython.git bpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269) Automerge-Triggered-By: @pitrou (cherry picked from commit 482259d0dcf27714a84cf56b93977320bea7e093) Co-authored-by: Furkan Önder --- diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 779b60ed4da0..a7b92bb9538d 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -639,9 +639,9 @@ the methods :meth:`__getstate__` and :meth:`__setstate__`. At unpickling time, some methods like :meth:`__getattr__`, :meth:`__getattribute__`, or :meth:`__setattr__` may be called upon the instance. In case those methods rely on some internal invariant being - true, the type should implement :meth:`__getnewargs__` or - :meth:`__getnewargs_ex__` to establish such an invariant; otherwise, - neither :meth:`__new__` nor :meth:`__init__` will be called. + true, the type should implement :meth:`__new__` to establish such an + invariant, as :meth:`__init__` is not called when unpickling an + instance. .. index:: pair: copy; protocol diff --git a/Misc/NEWS.d/next/Documentation/2020-04-01-00-27-03.bpo-27635.VwxUty.rst b/Misc/NEWS.d/next/Documentation/2020-04-01-00-27-03.bpo-27635.VwxUty.rst new file mode 100644 index 000000000000..24f640bd4ef5 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2020-04-01-00-27-03.bpo-27635.VwxUty.rst @@ -0,0 +1,2 @@ +The pickle documentation incorrectly claimed that ``__new__`` isn't called by +default when unpickling.