On 6/23/17 4:24 PM, Boris-Barboris wrote:
On Friday, 23 June 2017 at 20:13:07 UTC, ag0aep6g wrote:
You've got bad `@trusted`s:

Ty, I misunderstood the concept. I guess in a code like this it's mostly @system anyways, too many indirections to control safety level. I'm probably gonna remove most of the attributes.

The best advice is to leave @safe and @trusted and @system out of any templates. @safe will be inferred if everything is indeed safe. To prove that it's actually @safe, use a @safe unittest.

For places where things are safe, but the compiler can't prove it, then you pull out the @trusted attribute. But be very very careful -- as ag0aep6g says, there are often many hidden calls that can be @system, and in those cases you have just broken the guarantee. Only use @trusted where you know everything about every type that is used inside the call.


Reply via email to