mirror of
https://github.com/icewind1991/ivory.git
synced 2026-06-03 10:44:09 +02:00
better arg unpacking
This commit is contained in:
parent
74d59ad9ee
commit
d8f9ab3ac8
1 changed files with 2 additions and 2 deletions
|
|
@ -58,7 +58,7 @@ fn export_fn(item: ItemFn) -> TokenStream {
|
||||||
let arg_ident = Ident::new(name, span.clone());
|
let arg_ident = Ident::new(name, span.clone());
|
||||||
quote!(
|
quote!(
|
||||||
let #arg_ident: #ty = {
|
let #arg_ident: #ty = {
|
||||||
let opt: Option<#ty> = args.remove(0).into();
|
let opt: Option<#ty> = args.next().unwrap().into();
|
||||||
match opt {
|
match opt {
|
||||||
Some(val) => val,
|
Some(val) => val,
|
||||||
None => {
|
None => {
|
||||||
|
|
@ -78,7 +78,7 @@ fn export_fn(item: ItemFn) -> TokenStream {
|
||||||
::ivory::externs::error(::ivory::externs::ErrorLevel::Error, format!("unexpected number of arguments, expected {}, got {}", #arg_count, data.num_args()));
|
::ivory::externs::error(::ivory::externs::ErrorLevel::Error, format!("unexpected number of arguments, expected {}, got {}", #arg_count, data.num_args()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let mut args: Vec<::ivory::zend::PhpVal> = data.args().collect();
|
let mut args = data.args();
|
||||||
#(#arg_cast);*
|
#(#arg_cast);*
|
||||||
let result = #body;
|
let result = #body;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue