Implement variadic support in luaify

This commit is contained in:
2025-06-23 07:02:50 +10:00
parent 40478fb7de
commit e08ff38803
2 changed files with 41 additions and 4 deletions

View File

@@ -373,3 +373,21 @@ fn ifs() {
r#"function()if a==b then c();elseif b==c then return a();else d();end;end"#
);
}
#[test]
fn variadic() {
assert_eq!(luaify!(|a, b, variadic!()| {}), r#"function(a,b,...)end"#);
assert_eq!(
luaify!(|variadic!()| {
let (a, b) = variadic!();
}),
r#"function(...)local a,b=...;end"#
);
assert_eq!(
luaify!(|a, variadic!()| {
let (a, b) = (a, b, c, variadic!());
func(a, b, (c, (d, variadic!())))
}),
r#"function(a,...)local a,b=a,b,c,...;return func(a,b,c,d,...);end"#
);
}