On 08/16/14 13:58, Philippe Sigaud via Digitalmars-d-learn wrote: > On Sat, Aug 16, 2014 at 1:30 PM, Artur Skawina via Digitalmars-d-learn
>> http://forum.dlang.org/post/mailman.125.1397731134.2763.digitalmar...@puremagic.com > > Okay... > > So @safe includes child scopes. I suppose @trusted and @system work in > the same way. > > *but* > > nothrow, @nogc and UDA's do not include child scopes. Putting them at > the beginning of a module will not affect methods in aggregates... > > What's the situation for pure? (I don't have a D compiler handy right > now, or I would test it myself). @safe, @trusted, @system, shared, immutable, const, inout and `extern (...)` affect child scopes. `synchronized` does too, but in a rather unintuitive way; hopefully nobody uses this. ;) Other attributes, including 'pure' and 'nothrow' only affect symbols in the current scope. artur