Forms a (possibly-wide) raw pointer from a data address and metadata.
This function is safe but the returned pointer is not necessarily safe to dereference.
For slices, see the documentation of
slice::from_raw_parts for safety requirements.
For trait objects, the metadata must come from a pointer to the same underlying erased type.