Hello Walter,
there's no way that an @safe function can guarantee it sends memcmp() arguments that will work safely with memcmp().
I think that's backwards. There's no way memcmp can be sure it's arguments are safe just because it's being called from a @safe function.
OTOH, if a @trusted function can do the needed checks, then so can a @safe function. The problem is that there is is no way for DMD to check that it has; thus the trusted wrapper.