summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/tanya/container/string.d8
1 files changed, 5 insertions, 3 deletions
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;
}