followup #17001: improve coverage for tests/openarray/topenarray.nim (#17006)

* followup #17001: improve coverage for tests/openarray/topenarray.nim
This commit is contained in:
Timothee Cour 2021-02-13 00:33:42 -08:00 • committed by GitHub
commit 21e60b9a97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,12 +2,26 @@ discard """
targets: "c cpp js" targets: "c cpp js"
""" """
proc pro[T](a: var openArray[T]) = discard proc fn1[T](a: openArray[T]): seq[T] =
for ai in a: result.add ai
proc fn2[T](a: var openArray[T]): seq[T] =
for ai in a: result.add ai
proc fn3[T](a: var openArray[T]) =
for i, ai in mpairs(a): ai = i * 10
proc main = proc main =
var a = [1,2,3,4,5] var a = [1,2,3,4,5]
pro(toOpenArray(a, 1, 3)) doAssert fn1(a.toOpenArray(1,3)) == @[2,3,4]
pro(a.toOpenArray(1,3))
doAssert fn2(toOpenArray(a, 1, 3)) == @[2,3,4]
doAssert fn2(a.toOpenArray(1,3)) == @[2,3,4]
fn3(a.toOpenArray(1,3))
when defined(js): discard # xxx bug #15952: `a` left unchanged
else: doAssert a == [1, 0, 10, 20, 5]
main() main()
# static: main() # xxx bug #15952: Error: cannot generate code for: mSlice