The spec implies that a string literal containing hex and octal values is assembled in UTF-8, but doesn't say so explicitly. The text says that hex and octal values can be used to build binary data. If you have something like: dstring ds = "\U00101234\x7f"d what are the actual bytes in the string ds? Without defining explicitly, it allows for 00 10 12 34 7f 00 00 00 on a big-endian machine as opposed to the probably intended 00 10 12 34 00 00 00 7f
Also, if you define arbitrary binary data that is not valid utf-8, should an error reported when the 'd' suffix is processed by the compiler? If the spec more clearly says that the stuff between quotes is treated as if a UTF-8 string is created before suffixes are applied, then I think it formalizes the intent.
*** Issue 3784 has been marked as a duplicate of this issue. ***
Commit pushed to https://github.com/D-Programming-Language/d-programming-language.org https://github.com/D-Programming-Language/d-programming-language.org/commit/15151c41c4b35deaa690e7e052f74fb8f9d56010 fix Issue 2639 - Hex and octal string values not completely specified
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル