1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

compiler: fix panic when dealing with variadic functions

This commit is contained in:
Marko Zitkovic
2020-03-12 18:21:02 +01:00
committed by GitHub
parent 0df6eaa927
commit 26b9987880
2 changed files with 50 additions and 2 deletions

View File

@@ -41,3 +41,36 @@ fn variadic_forward_b(a ...string) string {
fn test_fn_variadic_forward() {
assert variadic_forward_a('a', 'b', 'c') == 'abc'
}
fn variadic_test_no_args(name string, groups ...VaTestGroup) {
assert groups.len == 0
}
fn test_fn_variadic_no_args() {
variadic_test_no_args('marko')
}
struct VaTestStruct {
}
fn (a VaTestStruct) variadic_method(name string, groups ...VaTestGroup) {
assert groups.len == 2
assert groups[0].name == 'users'
assert groups[1].name == 'admins'
}
fn (a VaTestStruct) variadic_method_no_args(name string, groups ...VaTestGroup) {
assert groups.len == 0
}
fn test_fn_variadic_method() {
a := VaTestStruct{}
group1 := VaTestGroup{name: 'users'}
group2 := VaTestGroup{name: 'admins'}
a.variadic_method('marko', group1, group2)
}
fn test_fn_variadic_method_no_args() {
a := VaTestStruct{}
a.variadic_method_no_args('marko')
}