In core.memory, functions that do not affect the validity or contents of the underlying memory regions should have signatures of ReturnType function(const void*), not ReturnType function(void*). These include GC.sizeOf(), GC.addrOf(), and GC.realloc(). There is simply no reason why these would be unsafe to call on pointers to const/immutable objects, and as such, this should not require an explicit cast.
This was fixed a long time ago.