closes #19969; add testcase for #19969 #15952 #16306 (#20610)

closes #19969; add testcase
This commit is contained in:
ringabout
2022-10-21 13:38:40 +08:00
committed by GitHub
parent 76763f51aa
commit 1db25ffcd3

View File

@@ -35,4 +35,31 @@ static:
assert arr.toOpenArray(3, 4).toOpenArray(0, 0) == [1]
# bug #19969
proc f(): array[1, byte] =
var a: array[1, byte]
result[0..0] = a.toOpenArray(0, 0)
doAssert static(f()) == [byte(0)]
# bug #15952
proc main1[T](a: openArray[T]) = discard
proc main2[T](a: var openArray[T]) = discard
proc main =
var a = [1,2,3,4,5]
main1(a.toOpenArray(1,3))
main2(a.toOpenArray(1,3))
static: main()
main()
# bug #16306
{.experimental: "views".}
proc test(x: openArray[int]): tuple[id: int] =
let y: openArray[int] = toOpenArray(x, 0, 2)
result = (y[0],)
template fn=
doAssert test([0,1,2,3,4,5]).id == 0
fn() # ok
static: fn()