These cases don't give any deprecation warnings in NumPy master:
np.arange(0)[np.array([0]), False] array([], dtype=int64) np.arange(0).reshape((0, 0))[np.array([0]), np.array([], dtype=int)] array([], dtype=int64)
Is that intentional? Aaron Meurer On Thu, Jul 23, 2020 at 12:18 PM Aaron Meurer <asmeurer@gmail.com> wrote:
After writing this, I realized that I actually remember the *opposite* discussion occurring before. I think in some of the equality deprecations, we actually raise the new error due to an internal try/except clause. And there was a complaint that its confusing that a non-deprecation-warning is raised when the error will only happen with DeprecationWarnings being set to error.
- Sebastian
I noticed that warnings.catch_warnings does the right thing with warnings that are raised alongside an exception (although it is a bit clunky to use).
Aaron Meurer