summary refs log tree commit diff stats
path: root/tests/ccgbugs
diff options
context:
space:
mode:
authorheterodoxic <122719743+heterodoxic@users.noreply.github.com>2023-05-27 15:27:42 +0200
committerGitHub <noreply@github.com>2023-05-27 15:27:42 +0200
commitaf3fd5a010b2f30a007c410858effb3095ef2598 (patch)
treeb8eb00407dae6ecb83eeb3fd8e808edd3d609196 /tests/ccgbugs
parent73095e2abbc46ce6f6582f08b30548431f28ed62 (diff)
downloadNim-af3fd5a010b2f30a007c410858effb3095ef2598.tar.gz
fixes #15428 by updating deep open array copy codegen (#21935)
* fix #15428

* add test
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r--tests/ccgbugs/t15428.nim22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ccgbugs/t15428.nim b/tests/ccgbugs/t15428.nim
new file mode 100644
index 000000000..d9ae8ff16
--- /dev/null
+++ b/tests/ccgbugs/t15428.nim
@@ -0,0 +1,22 @@
+discard """

+    cmd: "nim $target --mm:refc $file"

+    output: '''5

+5

+[1, 2, 3, 4, 5]

+(data: [1, 2, 3, 4, 5])

+'''

+"""

+

+proc take[T](f: openArray[T]) =

+  echo f.len

+let f = @[0,1,2,3,4]

+take(f.toOpenArray(0,4))

+

+{.experimental: "views".}

+type

+  Foo = object

+    data: openArray[int]

+let f2 = Foo(data: [1,2,3,4,5])

+echo f2.data.len

+echo f2.data

+echo f2
\ No newline at end of file