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@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?

Reply via email to