On Sun, Oct 16, 2011 at 12:49 PM, Pauli Virtanen <pav@iki.fi> wrote:
(16.10.2011 18:39), Tony Yu wrote:
>  >>> import numpy as np
>  >>> a = np.arange(10)
>  >>> b = np.ones(10, dtype=np.uint8)
>
> # this runs without error
>  >>> b[:5] = a[:5]
>
>  >>> mask = a < 5
>  >>> b[mask] = b[mask]
> TypeError: array cannot be safely cast to required type

Seems to be fixed in Git master

 >>> import numpy as np
 >>> a = np.arange(10)
 >>> b = np.ones(10, dtype=np.uint8)
 >>> mask = a < 5
 >>> b[mask] = b[mask]
 >>> b[mask] = a[mask]
 >>> np.__version__
'2.0.0.dev-1dc1877'

(I see you noticed the typo in my original example: b --> a). Agreed, I'm getting this error with an old master. I just tried master and it worked fine, but the maintenance branch ('1.6.2.dev-396dbb9') does still have this issue.