mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
fixes #21278; deques.shrink off ny one bug
(cherry picked from commit b82b5d44af)
This commit is contained in:
@@ -441,7 +441,7 @@ proc shrink*[T](deq: var Deque[T], fromFirst = 0, fromLast = 0) =
|
||||
deq.head = (deq.head + 1) and deq.mask
|
||||
|
||||
for i in 0 ..< fromLast:
|
||||
destroy(deq.data[deq.tail])
|
||||
destroy(deq.data[(deq.tail - 1) and deq.mask])
|
||||
deq.tail = (deq.tail - 1) and deq.mask
|
||||
|
||||
dec deq.count, fromFirst + fromLast
|
||||
|
||||
@@ -183,6 +183,12 @@ proc main() =
|
||||
clear(a)
|
||||
doAssert len(a) == 0
|
||||
|
||||
block: # bug #21278
|
||||
var a = [10, 20, 30, 40].toDeque
|
||||
|
||||
a.shrink(fromFirst = 0, fromLast = 1)
|
||||
doAssert $a == "[10, 20, 30]"
|
||||
|
||||
|
||||
static: main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user