diff options
author | flywind <xzsflywind@gmail.com> | 2021-04-21 01:00:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 19:00:44 +0200 |
commit | eb221dcc27b7f8f11ec34046e3165508acdf8beb (patch) | |
tree | f1024aa0459b55968e12c6fbf3516c805fad35a4 | |
parent | 0b116310bfb691755481293e8f9af11190fe0999 (diff) | |
download | Nim-eb221dcc27b7f8f11ec34046e3165508acdf8beb.tar.gz |
[std/deques] move data instead of copy + destroy (#17800)
-rw-r--r-- | lib/pure/collections/deques.nim | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/pure/collections/deques.nim b/lib/pure/collections/deques.nim index d2d53d993..582bb02a7 100644 --- a/lib/pure/collections/deques.nim +++ b/lib/pure/collections/deques.nim @@ -379,8 +379,7 @@ proc popFirst*[T](deq: var Deque[T]): T {.inline, discardable.} = emptyCheck(deq) dec deq.count - result = deq.data[deq.head] - destroy(deq.data[deq.head]) + result = move deq.data[deq.head] deq.head = (deq.head + 1) and deq.mask proc popLast*[T](deq: var Deque[T]): T {.inline, discardable.} = @@ -398,8 +397,7 @@ proc popLast*[T](deq: var Deque[T]): T {.inline, discardable.} = emptyCheck(deq) dec deq.count deq.tail = (deq.tail - 1) and deq.mask - result = deq.data[deq.tail] - destroy(deq.data[deq.tail]) + result = move deq.data[deq.tail] proc clear*[T](deq: var Deque[T]) {.inline.} = ## Resets the deque so that it is empty. |