> On Saturday, Nov 10, 2018 at 6:59 PM, Marten van Kerkwijk > <m.h.vankerkw...@gmail.com (mailto:m.h.vankerkw...@gmail.com)> wrote: > > > More broadly, it is only necessary to reject an argument type at the > > __array_function__ level if it defines __array_function__ itself, because > > that’s the only case where it would make a difference to return > > NotImplemented rather than trying (and failing) to call the overriden > > function implementation. > > Yes, this makes sense -- these are the only types that could possibly change > the outcome if the class now called fails to produce a result. Indeed, that > reasoning makes it logical that `ndarray` itself is not present even though > it defines `__array_ufunc__` - we know it cannot handle anything with a > `__array_ufunc__` implementation. > > Hameer, is Stephan's argument convincing to you too? If so, I'll close the PR. I agree with Stephan here, other than the fact that ndarray should be in the list of types. I can think of many cases in PyData/Sparse where I dont want to allow mixed inputs, but maybe that’s a tangential discussion.
Best Regards, Hameer Abbasi > > -- Marten _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion