Fix sequtils.delete bug with out of bounds indexes (#12506)
This commit is contained in:
parent
49db2a08ba
commit
5456da3ca9
1 changed files with 6 additions and 1 deletions
|
|
@ -447,7 +447,9 @@ proc delete*[T](s: var seq[T]; first, last: Natural) =
|
|||
var dest = @[1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1]
|
||||
dest.delete(3, 8)
|
||||
assert outcome == dest
|
||||
|
||||
doAssert first <= last
|
||||
if first >= s.len:
|
||||
return
|
||||
var i = first
|
||||
var j = min(len(s), last+1)
|
||||
var newLen = len(s)-j+i
|
||||
|
|
@ -1173,6 +1175,9 @@ when isMainModule:
|
|||
assert outcome == dest, """\
|
||||
Deleting range 3-9 from [1,1,1,2,2,2,2,2,2,1,1,1,1,1]
|
||||
is [1,1,1,1,1,1,1,1]"""
|
||||
var x = @[1, 2, 3]
|
||||
x.delete(100, 100)
|
||||
assert x == @[1, 2, 3]
|
||||
|
||||
block: # insert tests
|
||||
var dest = @[1, 1, 1, 1, 1, 1, 1, 1]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue