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.