On Tuesday, 31 January 2017 at 01:30:48 UTC, Walter Bright wrote:
Rust:
pub unsafe extern fn memcpy(dest: *mut c_void,
src: *const c_void,
n: size_t)
-> *mut c_void
D:
pure void* memcpy(return void* s1, scope const void* s2,
size_t n);
2. The return value is derived from s1.
How can we be sure that the return value points to the same
content as `s1`? If that is what you mean by "derived".
The Rust declaration does not give us 1, 2 or 4 (because it is
marked as unsafe). If it was safe, the declaration does not
give us 2.
I don't see how Rust doesn't provide information 2 aswell. Is it
because of differences in the meaning of `const` in Rust compared
to D?