diff options
author | Eduardo Bart <edub4rt@gmail.com> | 2018-01-03 09:56:35 -0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-01-03 12:56:35 +0100 |
commit | bbfe6e81ad9a09fc57710809d5325e13a8c95cbe (patch) | |
tree | 4a0ff943919c0fd8794af8612be6480d96f803bf /lib/system.nim | |
parent | 22cc7c62e5f1c22e0eda1037a6587153ffa6badf (diff) | |
download | Nim-bbfe6e81ad9a09fc57710809d5325e13a8c95cbe.tar.gz |
Add newSeqUninitialized, closes #6401 (#6402)
Diffstat (limited to 'lib/system.nim')
-rw-r--r-- | lib/system.nim | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim index 85643891b..4d8610737 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -743,6 +743,18 @@ proc newSeqOfCap*[T](cap: Natural): seq[T] {. ## ``cap``. discard +when not defined(JS): + proc newSeqUninitialized*[T: SomeNumber](len: Natural): seq[T] = + ## creates a new sequence of type ``seq[T]`` with length ``len``. + ## + ## Only available for numbers types. Note that the sequence will be + ## uninitialized. After the creation of the sequence you should assign + ## entries to the sequence instead of adding them. + + result = newSeqOfCap[T](len) + var s = cast[PGenericSeq](result) + s.len = len + proc len*[TOpenArray: openArray|varargs](x: TOpenArray): int {. magic: "LengthOpenArray", noSideEffect.} proc len*(x: string): int {.magic: "LengthStr", noSideEffect.} |