From: Miss Skeleton (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 5 Oct 2020 16:52:02 +0000 (-0700) Subject: bpo-41584: clarify when the reflected method of a binary arithemtic operator is calle... X-Git-Tag: v3.8.7rc1~131 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31ceccb2c77854893f3a754aca04bedd74bedb10;p=thirdparty%2FPython%2Fcpython.git bpo-41584: clarify when the reflected method of a binary arithemtic operator is called (GH-22505) (cherry picked from commit d02d824e05e2cb86f4df381be18832e76e2c475f) Co-authored-by: Brett Cannon --- diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 3f0538586241..924f6d9e2d7e 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -2371,10 +2371,11 @@ left undefined. .. note:: - If the right operand's type is a subclass of the left operand's type and that - subclass provides the reflected method for the operation, this method will be - called before the left operand's non-reflected method. This behavior allows - subclasses to override their ancestors' operations. + If the right operand's type is a subclass of the left operand's type and + that subclass provides a different implementation of the reflected method + for the operation, this method will be called before the left operand's + non-reflected method. This behavior allows subclasses to override their + ancestors' operations. .. method:: object.__iadd__(self, other) @@ -2773,6 +2774,6 @@ An example of an asynchronous context manager class:: method—that will instead have the opposite effect of explicitly *blocking* such fallback. -.. [#] For operands of the same type, it is assumed that if the non-reflected method - (such as :meth:`__add__`) fails the operation is not supported, which is why the - reflected method is not called. +.. [#] For operands of the same type, it is assumed that if the non-reflected + method -- such as :meth:`__add__` -- fails then the overall operation is not + supported, which is why the reflected method is not called.