verify intptr_t round-trip through void *
void * isn't explicitly guaranteed by C99. There are implementation-defined behaviors for integer to
void *, and vice versa. Only a round-trip of
void * through
intptr_t is guaranteed, not vice versa. We seem to depend on being able to store an integer in a
void * from time to time, e.g., to store integers in a smartlist.
We should run some automated tests to make sure this works as we expect, at least until we stop needing this behavior. (See also #23714 (moved).)