[Issue 12796] std.string toLower/toUpper array conversion.

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed Jun 11 14:26:32 PDT 2014


https://issues.dlang.org/show_bug.cgi?id=12796

monarchdodra at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from monarchdodra at gmail.com ---
(In reply to Peter Alexander from comment #2)
> Isn't that correct output? char[64] is not a range, so it shouldn't compile
> and you should need to write w1[].toLower.

Absolutly.

> Either way, you certainly can't put the result back into a char[64] because
> non-ASCII casing changes may alter length.

That's another issue I guess.

> I propose this is closed.

It wasn't quite correct though in the sense that toLower failed to compile
"internally". I fixed it when I submitted:
https://github.com/D-Programming-Language/phobos/pull/2203

So now it correctly produces:
main.d(27): Error: None of the overloads of 'toLower' are callable using
argument types (char[64]), candidates are:
std/uni.d(7989):        std.uni.toLower(dchar c)
std/uni.d(8382):        std.uni.toLower(string s)
std/uni.d(8384):        std.uni.toLower(immutable(wchar)[] s)
std/uni.d(8386):        std.uni.toLower(immutable(dchar)[] s)

So *now* it is fixed, yes. Closing.

--


More information about the Digitalmars-d-bugs mailing list