On 2/5/15 2:49 PM, Andrei Alexandrescu wrote:
On 2/5/15 11:17 AM, H. S. Teoh via Digitalmars-d wrote:
In short, my proposal is:

Tainted variables are an interesting topic, but quite distinct from the
notion of separating safe code from unsafe code.

As much as I was shocked about the use of @trusted/@safe/@system in
std.file, std.array and sadly possibly in other places, I found no
evidence that the feature is misdesigned. I continue to consider it a
simple, sound, and very effective method of building and interfacing
robust code. An excellent engineering solution that offers a lot of
power at a modest cost.

I do not support this proposal to change the semantics of
@trusted/@safe/@system. A separate tainted data proposal might be of
interest for loosely related topics.

The proposal (the original one I stated, not H.S.'s) is to do 2 things:

1. Clean up the syntax for @trusted escapes inside @safe code that we have settled on.
2. Add a mechanism to make those escapes safer and more reviewable.

I don't think the idea behind @trusted is incorrect, just that the idea it's a function attribute is mis-designed.

Note that in my proposal, you can essentially create a @trusted function just by marking the whole thing @trusted:

-Steve

Reply via email to