memcpy() comparison: C, Rust, and D
Walter Bright via Digitalmars-d
digitalmars-d at puremagic.com
Wed Feb 1 00:17:45 PST 2017
On 1/31/2017 10:43 PM, Tobias Müller wrote:
> Using an FFI function to compare D vs Rust doesn't tell you much. Foreign
> functions are usually not used directly in Rust, they are used to build
> safe wrappers that will give you *all* possible guarantees, including type
> safety.
> As a consequence it's not necessary to augment the C declaration with
> additional information.
I'm not very familiar with Rust. Can you post what a Rust declaration for memcpy
would look like with all the guarantees?
> Marking the function as safe would be wrong in Rust, because dereferencing
> raw pointers is unsafe. Raw pointers are not necessarily valid, even in
> safe code. You need references for that guarantee. But again, raw pointers
> are usually only used for FFI and to build safe abstractions.
memcpy() isn't marked safe in D, either.
More information about the Digitalmars-d
mailing list