mirror of
https://github.com/vlang/v.git
synced 2025-09-24 04:48:28 -04:00
cgen: fix codegen for array's .grow_cap and .grow_len methods for generic arrays (fix #23566) (#23568)
This commit is contained in:
parent
991ec1f9d2
commit
fac8bb8694
@ -1190,6 +1190,13 @@ fn (mut g Gen) gen_array_method_call(node ast.CallExpr, left_type ast.Type, left
|
|||||||
}
|
}
|
||||||
g.write(')')
|
g.write(')')
|
||||||
}
|
}
|
||||||
|
'grow_cap', 'grow_len' {
|
||||||
|
g.write('array_${node.name}(')
|
||||||
|
g.gen_arg_from_type(left_type, node.left)
|
||||||
|
g.write(', ')
|
||||||
|
g.expr(node.args[0].expr)
|
||||||
|
g.write(')')
|
||||||
|
}
|
||||||
'first', 'last', 'pop' {
|
'first', 'last', 'pop' {
|
||||||
mut noscan := ''
|
mut noscan := ''
|
||||||
array_info := left_sym.info as ast.Array
|
array_info := left_sym.info as ast.Array
|
||||||
|
9
vlib/v/tests/builtin_arrays/array_grow_cap_test.v
Normal file
9
vlib/v/tests/builtin_arrays/array_grow_cap_test.v
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
fn grow[T](mut arr []T) {
|
||||||
|
arr.grow_cap(10)
|
||||||
|
unsafe { arr.grow_len(10) }
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_main() {
|
||||||
|
mut arr := []int{}
|
||||||
|
grow(mut arr)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user