diff options
author | fenekku <fenekku@fenekku.com> | 2017-02-17 02:26:49 -0500 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-02-17 08:26:49 +0100 |
commit | e9767d8809a0ff4df83ffff1836937db3c2885bf (patch) | |
tree | b38c9aef7409dd265577325dcd8c322120ff5317 | |
parent | 9534a5d6328e6e4df94d4a8f038a388dfdf56c49 (diff) | |
download | Nim-e9767d8809a0ff4df83ffff1836937db3c2885bf.tar.gz |
Fix reverse on empty openArray (#5407)
Reversing an empty `openArray` would raise a RangeError. For instance for `a: seq[int] = @[]`, we have `a.high` return `-1` but `-1` is not a `Natural`. Leaving the array as-is is the expected behaviour.
-rw-r--r-- | lib/pure/algorithm.nim | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/algorithm.nim b/lib/pure/algorithm.nim index 739cdc16b..bc39f153b 100644 --- a/lib/pure/algorithm.nim +++ b/lib/pure/algorithm.nim @@ -46,7 +46,7 @@ proc reverse*[T](a: var openArray[T], first, last: Natural) = proc reverse*[T](a: var openArray[T]) = ## reverses the array `a`. - reverse(a, 0, a.high) + reverse(a, 0, max(0, a.high)) proc reversed*[T](a: openArray[T], first: Natural, last: int): seq[T] = ## returns the reverse of the array `a[first..last]`. |