On 2/9/07, "Martin v. Löwis" <Martin.vonLoewis at hpi.uni-potsdam.de> wrote: > Brett Cannon schrieb: > > Seems reasonable to me. Is the argument of None passed in > > automatically somewhere? > > There are few callers of nb_inplace_power at all (AFAICT, only > PyNumber_InPlacePower); in turn, PyNumber_InPlacePower is called > with the implicit Py_None always: > - ceval.c, for INPLACE_POWER (which is binary) > - operator.ipow (which is also binary) > - class.c, from bin_inplace_power, which in turn is called from > instance_ipow if the instance's 3rd argument to > nb_inplace_power is Py_None (if there is a non-None third > argument, instance_ipow invokes __ipow__ with three arguments > if __ipow__ is defined, else it invokes __pow__ with three > arguments) > > The only case I could find where a third argument is non-None > is when the builtin pow() is invoked, which then invokes nb_power > (but not nb_inplace_power) with three arguments. > Well then explicitly ignoring the object makes sense to me. While I am personally fine with raising the exception, erring on the side of caution as Raymond is suggesting wouldn't hurt either. -Brett
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4