Major performance problem with std.array.front()

Dmitry Olshansky dmitry.olsh at gmail.com
Sat Mar 8 00:09:00 PST 2014


08-Mar-2014 05:23, Andrei Alexandrescu пишет:
> On 3/7/14, 1:58 PM, Vladimir Panteleev wrote:
>> On Friday, 7 March 2014 at 21:56:45 UTC, Eyrk wrote:
>>> On Friday, 7 March 2014 at 20:43:45 UTC, Vladimir Panteleev wrote:
>>>> No, it doesn't.
>>>>
>>>> import std.algorithm;
>>>>
>>>> void main()
>>>> {
>>>>    auto s = "cassé";
>>>>    assert(s.canFind('é'));
>>>> }
>>>>
>>>
>>> Hm, I'm not following? Works perfectly fine on my system?
>>
>> Something's messing with your Unicode. Try downloading and compiling
>> this file:
>> http://dump.thecybershadow.net/6f82ea151c1a00835cbcf5baaace2801/test.d
>
> Yup, the grapheme issue. This should work.
>
> import std.algorithm, std.uni;
>
> void main()
> {
>      auto s = "cassé";
>      assert(s.byGrapheme.canFind('é'));
> }
>
> It doesn't compile, seems like a library bug.

Becasue Graphemes do not auto-magically convert to dchar and back? After 
all they are just small strings.

>
> Graphemes are the next level of Nirvana above code points, but that
> doesn't mean it's graphemes or nothing.
>
>
> Andrei
>


-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list