Reason for 'static struct'
Jon D via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Dec 9 13:39:29 PST 2015
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
> <digitalmars-d-learn at puremagic.com>
> 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?
More information about the Digitalmars-d-learn
mailing list