diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/indices.nim | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/system/indices.nim b/lib/system/indices.nim index e1ac68383..8f0acb931 100644 --- a/lib/system/indices.nim +++ b/lib/system/indices.nim @@ -114,11 +114,8 @@ proc `[]`*[Idx, T; U, V: Ordinal](a: array[Idx, T], x: HSlice[U, V]): seq[T] {.s ## ``` let xa = a ^^ x.a let L = (a ^^ x.b) - xa + 1 - # Workaround bug #22852: - result = newSeq[T](if L < 0: 0 else: L) + result = newSeq[T](L) for i in 0..<L: result[i] = a[Idx(i + xa)] - # Workaround bug #22852 - discard Natural(L) proc `[]=`*[Idx, T; U, V: Ordinal](a: var array[Idx, T], x: HSlice[U, V], b: openArray[T]) {.systemRaisesDefect.} = ## Slice assignment for arrays. |