On Monday, 15 January 2018 at 06:18:27 UTC, SimonN wrote:
D's foreach [...] will autodecode and silently iterate over dchar, not char, even when the input is string
That's not true. foreach will only decode on demand:
string s;
foreach(c; s) { /* c is a char here, it goes over bytes */ }
foreach(char c; s) { /* c is a char here, same as above */ }
foreach(dchar c; s) { /* c is a dchar - this decodes */ }
Autodecoding is a Phobos library artifact, NOT something in the D
language itself.
