summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-01-20 18:43:45 +0800
committerGitHub <noreply@github.com>2023-01-20 11:43:45 +0100
commitb82b5d44afbd860075f806f71a62d595f2376d6e (patch)
treebe6cc41260d5f09e34eb7ab698904ae45da8ae53 /lib
parent4c74b9b54ceac22865a0104970edb4d9c5376f96 (diff)
downloadNim-b82b5d44afbd860075f806f71a62d595f2376d6e.tar.gz
fixes #21278; `deques.shrink` off by one bug (#21284)
fixes #21278; deques.shrink off ny one bug
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/collections/deques.nim2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/collections/deques.nim b/lib/pure/collections/deques.nim
index 7e9ed32f3..60e0fd351 100644
--- a/lib/pure/collections/deques.nim
+++ b/lib/pure/collections/deques.nim
@@ -440,7 +440,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