summaryrefslogtreecommitdiff
path: root/crates/typst-macros/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-08-07 15:02:50 +0200
committerLaurenz <laurmaedje@gmail.com>2023-08-07 15:58:16 +0200
commit07c80e9a815750079b9a091fdc434ec498bc4cd0 (patch)
treef0ccb4472e1f6491212bf39509a5f947bfdeb5ef /crates/typst-macros/src
parent800744ed9d3923eecf3436f2029e77033e8f1b6a (diff)
Touch up docs
Diffstat (limited to 'crates/typst-macros/src')
-rw-r--r--crates/typst-macros/src/element.rs2
-rw-r--r--crates/typst-macros/src/func.rs12
2 files changed, 7 insertions, 7 deletions
diff --git a/crates/typst-macros/src/element.rs b/crates/typst-macros/src/element.rs
index 86a320ba..e047e606 100644
--- a/crates/typst-macros/src/element.rs
+++ b/crates/typst-macros/src/element.rs
@@ -433,7 +433,7 @@ fn create_param_info(field: &Field) -> TokenStream {
}
}));
let ty = if *variadic {
- quote! { <#ty as ::typst::eval::Variadics>::Inner }
+ quote! { <#ty as ::typst::eval::Container>::Inner }
} else {
quote! { #ty }
};
diff --git a/crates/typst-macros/src/func.rs b/crates/typst-macros/src/func.rs
index a734d404..77edff9a 100644
--- a/crates/typst-macros/src/func.rs
+++ b/crates/typst-macros/src/func.rs
@@ -210,7 +210,12 @@ fn create(func: &Func, item: &syn::ItemFn) -> TokenStream {
fn create_param_info(param: &Param) -> TokenStream {
let Param { name, docs, named, variadic, ty, default, .. } = param;
let positional = !named;
- let required = default.is_none();
+ let required = !named && default.is_none();
+ let ty = if *variadic || (*named && default.is_none()) {
+ quote! { <#ty as ::typst::eval::Container>::Inner }
+ } else {
+ quote! { #ty }
+ };
let default = quote_option(&default.as_ref().map(|_default| {
quote! {
|| {
@@ -219,11 +224,6 @@ fn create_param_info(param: &Param) -> TokenStream {
}
}
}));
- let ty = if *variadic {
- quote! { <#ty as ::typst::eval::Variadics>::Inner }
- } else {
- quote! { #ty }
- };
quote! {
::typst::eval::ParamInfo {
name: #name,