From 482259d0dcf27714a84cf56b93977320bea7e093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20=C3=96nder?= Date: Sat, 18 Apr 2020 21:09:09 +0300 Subject: bpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269) Automerge-Triggered-By: @pitrou --- Doc/library/pickle.rst | 6 +++--- .../next/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 779b60e..a7b92bb 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 0000000..24f640b --- /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. -- cgit v0.12