Yes, exactly. Some people even use static if it is not needed because it is harmless. And remove it only when enclosing context is demand. Dne 9. 12. 2015 22:40 napsal uživatel "Jon D via Digitalmars-d-learn" < [email protected]>:
> On Wednesday, 9 December 2015 at 21:23:03 UTC, Daniel Kozák wrote: > >> V Wed, 09 Dec 2015 21:10:43 +0000 >> Jon D via Digitalmars-d-learn <[email protected]> >> napsáno: >> >> There is a fair bit of range related code in the standard library >>> structured like: >>> >>> auto MyRange(Range)(Range r) >>> if (isInputRange!Range) >>> { >>> static struct Result >>> { >>> private Range source; >>> // define empty, front, popFront, etc >>> } >>> return Result(r); >>> } >>> >>> I'm curious about what declaring the Result struct as 'static' does, and >>> if there are use cases where it be better to exclude the static qualifier. >>> >>> --Jon >>> >> >> It make it non-nested struct: https://dlang.org/spec/struct.html#nested >> > > Thanks. So, is in the example above, would the advantage be that 'static' > avoids saving the enclosing state, which is not needed? >
