[bugfix] fix delete in strutils and sequtils (#11535)
This commit is contained in:
parent
d6b0e46ee4
commit
23e95dc629
2 changed files with 5 additions and 2 deletions
|
|
@ -432,7 +432,7 @@ proc delete*[T](s: var seq[T]; first, last: Natural) =
|
||||||
assert outcome == dest
|
assert outcome == dest
|
||||||
|
|
||||||
var i = first
|
var i = first
|
||||||
var j = last+1
|
var j = min(len(s), last+1)
|
||||||
var newLen = len(s)-j+i
|
var newLen = len(s)-j+i
|
||||||
while i < newLen:
|
while i < newLen:
|
||||||
s[i].shallowCopy(s[j])
|
s[i].shallowCopy(s[j])
|
||||||
|
|
|
||||||
|
|
@ -1494,8 +1494,11 @@ proc delete*(s: var string, first, last: int) {.noSideEffect,
|
||||||
a.delete(1, 6)
|
a.delete(1, 6)
|
||||||
doAssert a == "ara"
|
doAssert a == "ara"
|
||||||
|
|
||||||
|
a.delete(2, 999)
|
||||||
|
doAssert a == "ar"
|
||||||
|
|
||||||
var i = first
|
var i = first
|
||||||
var j = last+1
|
var j = min(len(s), last+1)
|
||||||
var newLen = len(s)-j+i
|
var newLen = len(s)-j+i
|
||||||
while i < newLen:
|
while i < newLen:
|
||||||
s[i] = s[j]
|
s[i] = s[j]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue