decodeGrapheme & static array
Adam D. Ruppe
destructionator at gmail.com
Sat Jan 4 20:12:20 UTC 2020
On Saturday, 4 January 2020 at 19:56:54 UTC, Robert M. Münch
wrote:
> But it doesn't seem to be an L-value... which I don't
> understand. I thought buf[] returns a temporary dynamic array
> initialized with the buf content.
The problem here is indeed ref, the function there tries to
update the slice so it point to the next element and that
requires a named variable.
Generally speaking, if your thing is not tied directly to a named
variable it can update, it cannot be ref.
So your buf[] there refers to a named variable, which is good
enough... but the [] cannot possibly update because buf is
statically sized.
Just assigning to a temporary in the middle can fix this for you:
dchar[] remainingItems = buf[];
decode(remainingItems);
// note that length of remainingItems will now be smaller than it
started
More information about the Digitalmars-d-learn
mailing list