On Tuesday, 2 September 2014 at 17:20:06 UTC, Daniel Murphy wrote:
This is Wrong! Any function that uses these wrappers is abusing @trusted.

eg:

import stdx.trusted;

int* func(int x) @safe
{
   return addrOf(x);
}

This functions is @safe, but happily returns an invalid pointer. This is possible because addrOf violates the requirement that @trusted functions must be completely @safe to call from an @safe function.

That's a good point.

Having syntax (or a wrapper function) to do the second wrapping automatically would violate @safe. If it was syntax, it would be banned in @safe. If it's a wrapping method like the proposed 'call', then it is a program error for it to be marked @trusted.

Good points too.

A very logical conclusion.

Reply via email to