diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/collections/deques.nim | 5 | ||||
-rw-r--r-- | lib/system.nim | 1 |
2 files changed, 2 insertions, 4 deletions
diff --git a/lib/pure/collections/deques.nim b/lib/pure/collections/deques.nim index 409240b37..e8342e208 100644 --- a/lib/pure/collections/deques.nim +++ b/lib/pure/collections/deques.nim @@ -161,10 +161,7 @@ proc peekLast*[T](deq: Deque[T]): T {.inline.} = result = deq.data[(deq.tail - 1) and deq.mask] template destroy(x: untyped) = - when defined(nimNewRuntime) and not supportsCopyMem(type(x)): - `=destroy`(x) - else: - reset(x) + reset(x) proc popFirst*[T](deq: var Deque[T]): T {.inline, discardable.} = ## Remove and returns the first element of the `deq`. diff --git a/lib/system.nim b/lib/system.nim index 52ed524be..832a98976 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -4112,6 +4112,7 @@ template once*(body: untyped): untyped = {.pop.} #{.push warning[GcMem]: off, warning[Uninit]: off.} proc substr*(s: string, first, last: int): string = + let first = max(first, 0) let L = max(min(last, high(s)) - first + 1, 0) result = newString(L) for i in 0 .. L-1: |