On Saturday, 6 February 2016 at 14:43:52 UTC, Tofu Ninja wrote:
Foreach seems to work if there is an opIndex() with no
arguments that returns a range interface, is this documented? I
can't seem to find anything that say this is supposed to
happen. I am not really complaining, its nice, but I just didnt
really expect it because I feel like I remember this being an
error some time ago.
To clerify, I was doing something like
struct someStruct{
...
dchar[] opIndex(){
if(data==null) return null;
else return data.some_array;
}
}
...
someStruct s;
foreach(c;s) {}
I expected to need to write
foreach(c;s[]) {}