From e5470401f4861a6aa57a2a4dfd6ce0402de71e1d Mon Sep 17 00:00:00 2001 From: frozolotl <44589151+frozolotl@users.noreply.github.com> Date: Fri, 24 Nov 2023 05:41:38 -0500 Subject: [PATCH] Fix `has` on non-inherent fields (#2745) --- crates/typst-macros/src/elem.rs | 8 +++++++- tests/ref/compiler/content-field.png | Bin 2423 -> 24704 bytes tests/typ/compiler/content-field.typ | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/crates/typst-macros/src/elem.rs b/crates/typst-macros/src/elem.rs index c36becb23..2de0adf20 100644 --- a/crates/typst-macros/src/elem.rs +++ b/crates/typst-macros/src/elem.rs @@ -731,12 +731,18 @@ fn create_native_elem_impl(element: &Elem) -> TokenStream { quote! { <#elem as #model::ElementFields>::Fields::#name => None, } - } else { + } else if field.inherent() { quote! { <#elem as #model::ElementFields>::Fields::#name => Some( ::typst::eval::IntoValue::into_value(self.#field_ident.clone()) ), } + } else { + quote! { + <#elem as #model::ElementFields>::Fields::#name => { + self.#field_ident.clone().map(::typst::eval::IntoValue::into_value) + } + } } }); diff --git a/tests/ref/compiler/content-field.png b/tests/ref/compiler/content-field.png index cef3274a59942472d34296cdf40832b165a7d945..093d90467152aabe9465ab15c9a2db67762868a9 100644 GIT binary patch literal 24704 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≀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 Qe-V|Do~dqyw$0Oj0-e8X!2kdN diff --git a/tests/typ/compiler/content-field.typ b/tests/typ/compiler/content-field.typ index 1d3dceb77..f8adfc424 100644 --- a/tests/typ/compiler/content-field.typ +++ b/tests/typ/compiler/content-field.typ @@ -1,3 +1,17 @@ +// Tests for field introspection. + +--- +// Verify that non-inherent fields are hidden if not set. +#show figure: it => [ + `repr(it)`: #repr(it) \ + `it.has("gap"): `#repr(it.has("gap")) \ +] + +#figure[] + +#figure([], gap: 1pt) + +--- // Integrated test for content fields. #let compute(equation, ..vars) = {