summaryrefslogtreecommitdiff
path: root/crates/typst-macros/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/typst-macros/src')
-rw-r--r--crates/typst-macros/src/func.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/typst-macros/src/func.rs b/crates/typst-macros/src/func.rs
index 5b8501d0..b67fb909 100644
--- a/crates/typst-macros/src/func.rs
+++ b/crates/typst-macros/src/func.rs
@@ -307,6 +307,9 @@ fn create_wrapper_closure(func: &Func) -> TokenStream {
}
};
+ // Throws errors about unexpected arguments.
+ let finish = (!func.special.args).then(|| quote! { args.take().finish()?; });
+
// This is the actual function call.
let call = {
let self_ = func
@@ -332,6 +335,7 @@ fn create_wrapper_closure(func: &Func) -> TokenStream {
|vm, args| {
let __typst_func = #parent #ident;
#handlers
+ #finish
let output = #call;
::typst::eval::IntoResult::into_result(output, args.span)
}