On Tuesday, 22 April 2014 at 15:30:36 UTC, Steven Schveighoffer
wrote:
On Tue, 22 Apr 2014 11:15:14 -0400, monarch_dodra
<[email protected]> wrote:
On Tuesday, 22 April 2014 at 15:06:34 UTC, Steven
Schveighoffer wrote:
Note, is the r2 = R.init needed? Not sure.
Yes: It R2 has no default init, or is an immutable, then that
line will fail to compile.
I don't believe it's possible to have no 'init'.
I think the reason it says '= R.init' is for ranges that have
@disable this().
Yes, that's what I meant by "no default init". Guess I got my
terms wrong. Sorry.
Also, an immutable can be initialized that way:
immutable int[] = int[].init;
Isn't that exactly "R.init" ?
Of course, it wouldn't pass the rest of isInputRange.
-Steve
In this particular case, probably not (except for, maybe
"repeat"?) In any case, it's become the "generic" way of
initializing a generic type.