[Issue 6791] std.algorithm.splitter random indexes utf strings

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Aug 18 23:25:08 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=6791


monarchdodra at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |monarchdodra at gmail.com
         AssignedTo|nobody at puremagic.com        |monarchdodra at gmail.com


--- Comment #2 from monarchdodra at gmail.com 2013-08-18 23:25:05 PDT ---
(In reply to comment #1)
> This is caused by struct SplitterResult in std.algorithm using array slicing
> and array indexing to pass char (not dchar!) to the lambda. SplitterResult
> appears to have multiple issues: it uses array slicing without a proper
> signature constraint on hasSlicing, and doesn't work properly for narrow
> strings because it uses indexing which for narrow strings doesn't handle
> multibyte UTF-8 sequences properly.
> 
> It appears to be wanting a rewrite that uses only forward range primitives, or
> at least, an overload for narrow strings that properly take multibyte
> characters into account.

I had submitted a correction for this about 1 year ago, but it ended up being
too big in scope (*all* splitter flavors have bugs). It also ended up being
messy due to (trying to avoid) code duplication.

It might be better to just fix things little by little though, rather than not
at all.

I'll fix *just* "splitter!pred": It's the easiest to fix. We'll see where we go
from there.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list