Definite-assignment analysis aside, it doesn't change that it's bad code. Integral types (and to a lesser degree nullables) are just about the only types where this kind of lazy code can occur yet still be "correct" (would you rely on implicit NaN or implicit UTF-8 0xFF? etc). `for(size_t i; i < length; ++i)`-style code is a readability problem, and this code is no different. It's not clear whether the code has a bug or the author intended to rely on the default value. A policy of relying on definite-assignment solves this ambiguity.

> Spec is out of date, compiler is right, there is nothing wrong with this code.

> The whole point is that what you think != phobos style guide. Change Walter's mind first, then start changing the code.

Please, hand-wavy arguments like these are not productive.