It's very common for DeprecationWarnings to have the property that the
developer can't fix them while still supporting some earlier versions of
numpy (at least without jumping through hoops). Not issuing the warning
just means people are more likely to accidentally write new code that
relies on the deprecated behaviour...

On Sat, Mar 2, 2013 at 8:22 PM, seberg <notifications@github.com> wrote:

> In numpy/core/src/multiarray/nditer_constr.c:
>
> > @@ -158,6 +156,16 @@
> >          return NULL;
> >      }
> >
> > +    /*
> > +     * Before 1.8, if `oa_ndim == 0`, this meant `op_axes != NULL` was an error.
> > +     * With 1.8, `oa_ndim == -1` takes this role, while op_axes in that case
> > +     * enforces a 0-d iterator. At some point this should be deprecated, but
> > +     * third party software must use `oa_ndim == 0` for <1.8 compatibility.
> > +     */
> > +    if ((oa_ndim == 0) && (op_axes == NULL)) {
> > +        oa_ndim = -1;
>
> So do a python warning in this case, or just a big comment to do that
> later? Personally, still find it a bit odd to warn the developer, when they
> can't do anything to avoid the warning (if they want to support previous
> numpy versions), but I am fine with whatever you two think best.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/numpy/numpy/pull/3104/files#r3215954>
> .
>