summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/collections/sequtils.nim2
-rw-r--r--lib/pure/strutils.nim5
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]