On 3/17/13, Steven Schveighoffer <schveiguy at yahoo.com> wrote: > In fact, your replacement still uses > signed types. Hmm, I was expecting it to always be size_t. Apparently it's based on the range: foreach (i; 0 .. int.max) { } // i is int foreach (i; 0 .. size_t.max) { } // i is size_t Well, we can put a 'size_t' in there so it's not too bad.