I agree that the ambiguity
cdef object o = ...
cdef void* ptr = <void*>o
when o happens to be a Python int is unfortunate, but casting objects
to void* is quite common for letting them propagate through C
libraries (e.g. as fake closures/state for callbacks) so I don't think
we want to make this an error.
- Robert