Transient ranges

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Sun May 29 11:09:29 PDT 2016


On 5/29/16 1:45 PM, Steven Schveighoffer wrote:
> On 5/27/16 7:42 PM, Seb wrote:
>
>> So what about the convention to explicitely declare a `.transient` enum
>> member on a range, if the front element value can change?
>
> enum isTransient(R) = is(typeof(() {
>    static assert(isInputRange!R);
>    static assert(hasIndirections(ElementType!R));
>    static assert(!allIndrectionsImmutable!(ElementType!R)); // need to
> write this
> }));

obviously, this is better as a simple && statement between the three 
requirements :) When I started writing, I thought I'd have to write some 
runtime code.

-Steve


More information about the Digitalmars-d mailing list