summary refs log tree commit diff stats
path: root/tests/views/tviews1.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2020-09-27 09:20:10 +0200
committerGitHub <noreply@github.com>2020-09-27 09:20:10 +0200
commit57b7841c184e9f185d6d2404a1320e5d089e0e0f (patch)
treef4d424fd978778cd3260073d724a6ab6f7c14574 /tests/views/tviews1.nim
parente6616115e65381aaab427c557431d7992bb25063 (diff)
downloadNim-57b7841c184e9f185d6d2404a1320e5d089e0e0f.tar.gz
better support for slices as views (#15414)
* moved view tests to tests/views
* refactoring
* more refactorings
* better support for system.toOpenArray for first class view types
Diffstat (limited to 'tests/views/tviews1.nim')
-rw-r--r--tests/views/tviews1.nim27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/views/tviews1.nim b/tests/views/tviews1.nim
new file mode 100644
index 000000000..3ce0bb6d8
--- /dev/null
+++ b/tests/views/tviews1.nim
@@ -0,0 +1,27 @@
+discard """
+  output: '''11
+22
+33
+3
+2
+3'''
+  targets: "c cpp"
+"""
+
+{.experimental: "views".}
+
+proc take(a: openArray[int]) =
+  echo a.len
+
+proc main(s: seq[int]) =
+  var x: openArray[int] = s
+  for i in 0 .. high(x):
+    echo x[i]
+  take(x)
+
+  take(x.toOpenArray(0, 1))
+  let y = x
+  take y
+
+
+main(@[11, 22, 33])