This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author skrah
Recipients Zuzu_Typ, josh.r, rhettinger, skrah
Date 2019-03-20.18:27:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1553106420.18.0.533372943686.issue36379@roundup.psfhosted.org>
In-reply-to
Content
Ok, got it. I think __ipow__ should be a ternaryfunc, like so:

diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 403f3caaee..914d076b5c 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -7032,7 +7032,7 @@ static slotdef slotdefs[] = {
     IBSLOT("__imod__", nb_inplace_remainder, slot_nb_inplace_remainder,
            wrap_binaryfunc, "%="),
     IBSLOT("__ipow__", nb_inplace_power, slot_nb_inplace_power,
-           wrap_binaryfunc, "**="),
+           wrap_ternaryfunc, "**="),
     IBSLOT("__ilshift__", nb_inplace_lshift, slot_nb_inplace_lshift,
            wrap_binaryfunc, "<<="),
     IBSLOT("__irshift__", nb_inplace_rshift, slot_nb_inplace_rshift,



On the other hand it is odd if "**=" can never use the third argument.
History
Date User Action Args
2019-03-20 18:27:00skrahsetrecipients: + skrah, rhettinger, josh.r, Zuzu_Typ
2019-03-20 18:27:00skrahsetmessageid: <1553106420.18.0.533372943686.issue36379@roundup.psfhosted.org>
2019-03-20 18:27:00skrahlinkissue36379 messages
2019-03-20 18:27:00skrahcreate