summaryrefslogtreecommitdiff
path: root/crates/typst-macros
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2025-06-19 17:45:00 +0200
committerLaurenz <laurmaedje@gmail.com>2025-06-20 17:32:37 +0200
commit3602d06a155a0567fe2b2e75a4d5970578d0f14f (patch)
tree0e609071791c7ab92f4774acc6e3c775c23482ec /crates/typst-macros
parent15302dbe7a6bd04125c4a56fee24bbbacfb4cc2f (diff)
Support for generating native functions at runtime
Diffstat (limited to 'crates/typst-macros')
-rw-r--r--crates/typst-macros/src/func.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/crates/typst-macros/src/func.rs b/crates/typst-macros/src/func.rs
index b8ab7a36..e953dc37 100644
--- a/crates/typst-macros/src/func.rs
+++ b/crates/typst-macros/src/func.rs
@@ -315,15 +315,15 @@ fn create_func_data(func: &Func) -> TokenStream {
quote! {
#foundations::NativeFuncData {
- function: #closure,
+ function: #foundations::NativeFuncPtr(&#closure),
name: #name,
title: #title,
docs: #docs,
keywords: &[#(#keywords),*],
contextual: #contextual,
- scope: ::std::sync::LazyLock::new(|| #scope),
- params: ::std::sync::LazyLock::new(|| ::std::vec![#(#params),*]),
- returns: ::std::sync::LazyLock::new(|| <#returns as #foundations::Reflect>::output()),
+ scope: ::std::sync::LazyLock::new(&|| #scope),
+ params: ::std::sync::LazyLock::new(&|| ::std::vec![#(#params),*]),
+ returns: ::std::sync::LazyLock::new(&|| <#returns as #foundations::Reflect>::output()),
}
}
}