diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-10-12 20:42:17 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-10-12 20:42:17 +0200 |
commit | 7b9d929d50c6eb5a6ebc2fa6cd61b6dcb32a17d9 (patch) | |
tree | 020332c6ad754bdbb769cbd21dc01bc8a48d1043 /tests/collections/tmapit.nim | |
parent | 9ceeab14f3c96d62da77097c01fb8e6eac3bad9a (diff) | |
parent | e2468fee55a3477a5707ac2d74b329fcb73f4f2b (diff) | |
download | Nim-7b9d929d50c6eb5a6ebc2fa6cd61b6dcb32a17d9.tar.gz |
Merge pull request #3423 from petermora/breakSequtils
Break sequtils
Diffstat (limited to 'tests/collections/tmapit.nim')
-rw-r--r-- | tests/collections/tmapit.nim | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/collections/tmapit.nim b/tests/collections/tmapit.nim new file mode 100644 index 000000000..067561882 --- /dev/null +++ b/tests/collections/tmapit.nim @@ -0,0 +1,28 @@ +import sequtils + +var x = @[1, 2, 3] +# This mapIt call will run with preallocation because ``len`` is available. +var y = x.mapIt($(it+10)) +doAssert y == @["11", "12", "13"] + +type structureWithoutLen = object + a: array[5, int] + +iterator items(s: structureWithoutLen): int {.inline.} = + yield s.a[0] + yield s.a[1] + yield s.a[2] + yield s.a[3] + yield s.a[4] + +var st: structureWithoutLen +st.a[0] = 0 +st.a[1] = 1 +st.a[2] = 2 +st.a[3] = 3 +st.a[4] = 4 + +# this will run without preallocating the result +# since ``len`` is not available +var r = st.mapIt($(it+10)) +doAssert r == @["10", "11", "12", "13", "14"] |