On Fri, Jun 18, 2021 at 8:52 AM Stefan van der Walt <stefanv@berkeley.edu> wrote:
On Thu, Jun 17, 2021, at 16:23, Stephan Hoyer wrote: 
This happens all the time. Even if we make copy='never' an error *today*, users will be encountering existing versions of NumPy for years into the future, so we won't be able to change the behavior of copy='never' for a very long time. Our deprecation policy says we would need to wait at least one year for this, but frankly I'm not sure that's enough for the possibility of silent bugs. 3-4 years might be more realistic.

If we go the enum route, we may just as well deprecate string arguments at the same time so that we have the flexibility to introduce them again in the future.


What if we made `copy=False` do what it says. I always thought the ambiguous behavior was just asking for trouble. For a couple of releases we could raise a FutureWarning when a copy was made in spite of `copy=False`, which might expose some bugs in existing code.