diff options
author | Miran <narimiran@disroot.org> | 2019-06-20 21:04:37 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-06-20 21:04:37 +0200 |
commit | 23e95dc6290b758d4d4e3b54d6c7a89143142066 (patch) | |
tree | 5033e2295a3c29d344062e05d27d75bacefc3561 /lib/pure | |
parent | d6b0e46ee4b8dd8c92ce98c0172b21d0927602e7 (diff) | |
download | Nim-23e95dc6290b758d4d4e3b54d6c7a89143142066.tar.gz |
[bugfix] fix `delete` in strutils and sequtils (#11535)
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/collections/sequtils.nim | 2 | ||||
-rw-r--r-- | lib/pure/strutils.nim | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim index de100ead4..fd0018beb 100644 --- a/lib/pure/collections/sequtils.nim +++ b/lib/pure/collections/sequtils.nim @@ -432,7 +432,7 @@ proc delete*[T](s: var seq[T]; first, last: Natural) = assert outcome == dest var i = first - var j = last+1 + var j = min(len(s), last+1) var newLen = len(s)-j+i while i < newLen: s[i].shallowCopy(s[j]) diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index c5cc25625..2044edeb3 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -1494,8 +1494,11 @@ proc delete*(s: var string, first, last: int) {.noSideEffect, a.delete(1, 6) doAssert a == "ara" + a.delete(2, 999) + doAssert a == "ar" + var i = first - var j = last+1 + var j = min(len(s), last+1) var newLen = len(s)-j+i while i < newLen: s[i] = s[j] |