summary refs log tree commit diff stats
path: root/tests/collections/tmapit.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2015-10-12 20:42:17 +0200
committerAndreas Rumpf <rumpf_a@web.de>2015-10-12 20:42:17 +0200
commit7b9d929d50c6eb5a6ebc2fa6cd61b6dcb32a17d9 (patch)
tree020332c6ad754bdbb769cbd21dc01bc8a48d1043 /tests/collections/tmapit.nim
parent9ceeab14f3c96d62da77097c01fb8e6eac3bad9a (diff)
parente2468fee55a3477a5707ac2d74b329fcb73f4f2b (diff)
downloadNim-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.nim28
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"]