Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add tests
  • Loading branch information
JukkaL committed Apr 23, 2026
commit 739ee98730c4ad73bd09fa731e0645fbc9e8cb71
35 changes: 35 additions & 0 deletions mypyc/test-data/irbuild-vec-i64.test
Original file line number Diff line number Diff line change
Expand Up @@ -864,3 +864,38 @@ L0:
r4 = r3 + 8
keep_alive r0
return r0

[case testVecI64CreateFromListMultiplyWithCap]
from librt.vecs import vec
from mypy_extensions import i64

def repeated_with_cap(n: i64) -> vec[i64]:
return vec[i64]([3] * n, capacity=10)
[out]
def repeated_with_cap(n):
n :: i64
r0 :: vec[i64]
r1 :: object
r2 :: ptr
r3 :: i64
r4, r5 :: ptr
r6 :: bit
r7 :: ptr
L0:
r0 = VecI64Api.alloc(n, 10)
r1 = r0.buf
r2 = get_element_ptr r1 items :: VecI64BufObject
r3 = n * 8
r4 = r2 + r3
r5 = r2
L1:
r6 = r5 < r4 :: unsigned
if r6 goto L2 else goto L3 :: bool
L2:
set_mem r5, 3 :: i64*
r7 = r5 + 8
r5 = r7
goto L1
L3:
keep_alive r0
return r0
15 changes: 15 additions & 0 deletions mypyc/test-data/run-vecs-t.test
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,21 @@ def test_cap_with_initializer() -> None:
assert v[0] == 'a'
assert v[1] == 'b'

def test_cap_from_comprehension_and_iterable() -> None:
v = vec[str]([str(i) for i in range(2)], capacity=3)
old = v
v = append(v, '2')
v[0] = 'x'
assert old[0] == 'x'
assert v == vec[str](['x', '1', '2'])

v = vec[str]((str(i) for i in range(2)), capacity=3)
old = v
v = append(v, '2')
v[0] = 'y'
assert old[0] == 'y'
assert v == vec[str](['y', '1', '2'])

def test_cap_variable(n: i64 = 3) -> None:
v = vec[str](capacity=n)
assert len(v) == 0
Expand Down