diff --git a/source/tanya/container/string.d b/source/tanya/container/string.d index 40dabb6..b48522b 100644 --- a/source/tanya/container/string.d +++ b/source/tanya/container/string.d @@ -1564,10 +1564,12 @@ struct String } do { - auto oldLen = this.data + length; + const oldLength = length; + const rangeEnd = r.end - this.data; const inserted = insertBack(el); - bringToFront(ByCodeUnit!char(this, r.end, oldLen), - ByCodeUnit!char(this, oldLen, this.data + length)); + auto containerEnd = this.data + oldLength; + bringToFront(ByCodeUnit!char(this, this.data + rangeEnd, containerEnd), + ByCodeUnit!char(this, containerEnd, this.data + length)); return inserted; }