O código a seguir funciona em numpy 1.26.4, mas não em numpy 2.0.0rc1, fornecendo
OverflowError: inteiro Python -256 fora dos limites para int8
import numpy as np
np.array([1], dtype=np.int8) + (-256)
Isso é esperado? É devido à adoção da NEP 50 ? Em caso afirmativo, que parte da NEP 50 determina este novo comportamento?
Sim, esse é o comportamento da NEP 50. Citando a NEP 50 :
Antes, o valor do Python int -256 teria sido examinado para determinar qual tipo de resultado usar. Agora, adicionar um int Python aos dados do dtype int8 sempre converte o int Python em dtype int8. Se o valor não couber no dtype int8, você receberá este erro.