Closed
Description
The numpy 2.0 changed the behavior of the copy
keyword in __array__
, and especially making copy=False
to be strict (raising an error when a zero-copy numpy array is not possible).
We only adjusted pandas to update the copy
handling now in #60046 (issue #57739).
But that also introduced a breaking change for anyone doing np.array(ser, copy=False)
(and who hasn't updated that when updating to numpy 2.0), which historically has always worked fine and could silently give a copy anyway.
The idea would be to still include a FutureWarning about this first before raising the error (as now in main) in pandas 3.0.
See #60046 (comment) for more context