[Python-checkins] [3.9] bpo-41688: Document bug in **= dispatching in the language data… (GH-22172)

Ammar Askar webhook-mailer at python.org
Tue Sep 15 09:44:11 EDT 2020


https://github.com/python/cpython/commit/46bc21e1780016aaacd34e472f838dc792fb674c
commit: 46bc21e1780016aaacd34e472f838dc792fb674c
branch: 3.9
author: Ammar Askar <ammar at ammaraskar.com>
committer: GitHub <noreply at github.com>
date: 2020-09-09T11:01:38-07:00
summary:

[3.9] bpo-41688: Document bug in **= dispatching in the language data… (GH-22172)



I tossed in a "This bug is fixed in Python 3.10" sentence but I'm not sure if that's appropriate to have here.

files:
M Doc/reference/datamodel.rst

diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index a817408c3b1ef..fc304a191a314 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -2409,6 +2409,13 @@ left undefined.
    :ref:`faq-augmented-assignment-tuple-error`), but this behavior is in fact
    part of the data model.
 
+   .. note::
+
+      Due to a bug in the dispatching mechanism for ``**=``, a class that
+      defines :meth:`__ipow__` but returns ``NotImplemented`` would fail to
+      fall back to ``x.__pow__(y)`` and ``y.__rpow__(x)``. This bug is fixed
+      in Python 3.10.
+
 
 .. method:: object.__neg__(self)
             object.__pos__(self)



More information about the Python-checkins mailing list