Closed
Description
This code should illustrate what's going on
import sys
import numpy as np
intp_refcount = sys.getrefcount(np.dtype(np.intp))
double_refcount = sys.getrefcount(np.dtype(np.double))
for j in range(1000):
np.bincount([1, 2, 3])
assert intp_refcount == sys.getrefcount(np.dtype(np.intp))
assert double_refcount == sys.getrefcount(np.dtype(np.double))
for j in range(1000):
np.bincount([1, 2, 3], [4, 5, 6])
assert intp_refcount == sys.getrefcount(np.dtype(np.intp)) # this fails
assert double_refcount == sys.getrefcount(np.dtype(np.double))