[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 Basile-z changed: What|Removed |Added CC|b2.t...@gmx.com | --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 github-bugzi...@puremagic.com changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 --- Comment #6 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/dlang/phobos https://github.com/dlang/phobos/commit/1f1ed031a3215b3fa6585ccca189d68c1ad5b154 Fix issue 15884 Encode wstring/wchar[]/dstring/dchar[] as JSON string https://github.com/dlang/phobos/commit/1f37557e38b787a021da1cce4c46c4c8ae131d04 Merge pull request #4185 from lionello/fix15884 Fix issue 15884 Encode wstring/wchar[]/dstring/dchar[] as JSON string --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 Lionello Lunesuchanged: What|Removed |Added Keywords||pull --- Comment #5 from Lionello Lunesu --- I don't know how the link magic works, but here's the PR: https://github.com/D-Programming-Language/phobos/pull/4185 --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 Lionello Lunesuchanged: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED |--- --- Comment #4 from Lionello Lunesu --- Ah, you're fast, but what about wchar[] dchar[]? I suggest we use std.utf.toUTF8() to handle all the non-string cases (it does a "idup" for char[], by the way.) --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 github-bugzi...@puremagic.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 --- Comment #3 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/329f068d7aedd0371b324c2676a4ebf75f3a4a13 fix issue 15884 - Assigning char[] to std.json.JSONValue creates array, not string https://github.com/D-Programming-Language/phobos/commit/ada161f0c571733aeb280566d6aff0af1e9396ad Merge pull request #4176 from BBasile/issue-15884 fix issue 15884 - Assigning char[] to std.json.JSONValue creates array, not string --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 b2.t...@gmx.com changed: What|Removed |Added CC||b2.t...@gmx.com --- Comment #2 from b2.t...@gmx.com --- (In reply to Lionello Lunesu from comment #1) > Ugh, I understand why it's the way it is. > > Should we do .idup in JSONValue? Either way there's going to be an > allocation, either for the JSONValue[] or for the string. > > The repro might seem convoluted, but I ran into it like this: a method > returns a char[], in order to give the caller full r/w control, which is > what such a "toString" function is supposed to do. Using this return value > (which thanks to "auto" is not obvious) in a JSONValue results in a less > than ideal JSON. I have tested a fix and calling idup doesn't break current tests, actually the method that's involved to make it accepts char[] is a template and with attribute inference there is no problem. It's always pure nothrow @safe, safe is a new requirement on the master version of std.json. --
[Issue 15884] Assigning char[] to std.json.JSONValue creates array, not string
https://issues.dlang.org/show_bug.cgi?id=15884 --- Comment #1 from Lionello Lunesu--- Ugh, I understand why it's the way it is. Should we do .idup in JSONValue? Either way there's going to be an allocation, either for the JSONValue[] or for the string. The repro might seem convoluted, but I ran into it like this: a method returns a char[], in order to give the caller full r/w control, which is what such a "toString" function is supposed to do. Using this return value (which thanks to "auto" is not obvious) in a JSONValue results in a less than ideal JSON. --