From 020f2aaaea95aef6f54ab31488926ed76017e41a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 18 Apr 2020 11:14:55 -0700 Subject: [PATCH] bpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automerge-Triggered-By: @pitrou (cherry picked from commit 482259d0dcf27714a84cf56b93977320bea7e093) Co-authored-by: Furkan Önder --- Doc/library/pickle.rst | 6 +++--- .../Documentation/2020-04-01-00-27-03.bpo-27635.VwxUty.rst | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2020-04-01-00-27-03.bpo-27635.VwxUty.rst diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 779b60ed4da..a7b92bb9538 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 00000000000..24f640bd4ef --- /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.