smallarrayshrink.jl
@testset "shrink small array" begin
function check_array(x, size, capacity)
@test x[1] == 1
@test x[2] == 2
@test x[3] == 3
@test x[4] == 4
@test ccall(:jl_array_size, Int, (Any, UInt), x, 0) == size
@test ccall(:jl_array_size, Int, (Any, UInt), x, 1) == capacity
end
for hint_size = [10000, 1000000]
x = [1, 2, 3, 4]
check_array(x, 4, 4)
sizehint!(x, hint_size)
check_array(x, 4, hint_size)
sizehint!(x, 4; shrink = false)
check_array(x, 4, hint_size)
sizehint!(x, 4)
check_array(x, 4, 4)
end
end