On Fri, Aug 24, 2018 at 3:14 PM Nathaniel Smith <n...@pobox.com> wrote:
> Yeah, the reason warnings are normally recommended is because > normally, you want to make it easy to silence. But this is the rare > case where I didn't want to make it easy to silence, so I didn't > suggest using a warning :-). > > Calling warnings.warn (or the C equivalent) is also very expensive, > even if the warning ultimately isn't displayed. I guess we could do > our own tracking of whether we've displayed the warning yet, and only > even attempt to issue it once, but that partially defeats the purpose > of using warnings in the first place. I thought the suggestion was to issue a warning when np.enable_experimental_array_function() is called. I agree that it's a non-starter to issue it every time an __array_function__ method is called -- warnings are way too slow for that. People can redirect stderr, so we're really not stopping anyone from silencing things by doing it in a non-standard way. We're just making it annoying and non-standard. Developers could even run Python in a subprocess and filter out all the warnings -- there's really nothing we can do to stop determined abusers of this feature. I get that you want to make this annoying and non-standard, but this is too extreme for me. Do you seriously imagine that we'll consider ourselves beholden in the future to users who didn't take us at our word?
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion