diff options
-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] |