diff options
author | Araq <rumpf_a@web.de> | 2011-12-31 18:15:20 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-12-31 18:15:20 +0100 |
commit | 0d8e6dda69ed4a63e12b95ee1cba37bab31f56ab (patch) | |
tree | b7b29b13183f045218f129d5117d38300d6da3d2 /lib | |
parent | 8c993733b953fbb84fc7d97546eae7d3f9564ed7 (diff) | |
download | Nim-0d8e6dda69ed4a63e12b95ee1cba37bab31f56ab.tar.gz |
new len(openarray) implementation
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/system.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/system.nim b/lib/system.nim index 1161adaf6..c553313de 100755 --- a/lib/system.nim +++ b/lib/system.nim @@ -309,7 +309,10 @@ proc newSeq*[T](s: var seq[T], len: int) {.magic: "NewSeq", noSideEffect.} ## This is equivalent to ``s = @[]; setlen(s, len)``, but more ## efficient since no reallocation is needed. -proc len*[T](x: openArray[T]): int {.magic: "LengthOpenArray", noSideEffect.} +when defined(newOpenArrayLen): + proc len*[T: openArray](x: T): int {.magic: "LengthOpenArray", noSideEffect.} +else: + proc len*[T](x: openArray[T]): int {.magic: "LengthOpenArray", noSideEffect.} proc len*(x: string): int {.magic: "LengthStr", noSideEffect.} proc len*(x: cstring): int {.magic: "LengthStr", noSideEffect.} proc len*[I, T](x: array[I, T]): int {.magic: "LengthArray", noSideEffect.} |