https://issues.dlang.org/show_bug.cgi?id=15882
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WORKSFORME --- Comment #4 from [email protected] --- Seems like phobos is ahead of us here. ---- void main() { uint[] a = [0x8DA0000, 0x051B5A8, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68]; import std.stdio: writeln; writeln(cast(dchar[]) a); } ---- Compiled with the freshly released dmd 2.071.0, this prints "��gitech", i.e. it uses replacement characters now. I think this is part of a change in the stance regarding invalid char/wchar/dchar values. There used to be a guarantee/requirement that they do not occur. Apparently, that has been given up in favor of a more forgiving approach. Since in dmd 2.071.0 it's working as you suggest, I'm closing this as RESVOLED:WORKSFMORME. Feel free to reopen if I missed anything. By the way, the generated hex string is broken. There should be lots of zero bytes. I've filed a separate issue for that: issue 15888. --
