What type does byGrapheme() return?

H. S. Teoh hsteoh at quickfur.ath.cx
Mon Dec 30 23:31:31 UTC 2019

On Mon, Dec 30, 2019 at 03:09:58PM -0800, H. S. Teoh via Digitalmars-d-learn wrote:
> I suspect the cause is that whatever Grapheme.opSlice returns is going
> out-of-scope when used with .map, that's why it's malfunctioning.

Haha, it's actually right there in the Grapheme docs for the opSlice

        Random-access range over Grapheme's $(CHARACTERS).

        Warning: Invalidates when this Grapheme leaves the scope,
        attempts to use it then would lead to memory corruption.

Looks like when you use .map over the Grapheme, it gets copied into a
temporary, which gets invalidated when map.front returns.  Somewhere
we're missing a 'scope' qualifier...


War doesn't prove who's right, just who's left. -- BSD Games' Fortune

More information about the Digitalmars-d-learn mailing list