From 4da975c6fba981672f04c27234d8840b394404cc Mon Sep 17 00:00:00 2001 From: Lennart K <18233294+lennart-k@users.noreply.github.com> Date: Wed, 15 Jan 2025 10:57:56 +0100 Subject: [PATCH] xml: Replace missing field unwrap with error --- crates/xml/derive/src/field.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/xml/derive/src/field.rs b/crates/xml/derive/src/field.rs index 3196805..bf13cbf 100644 --- a/crates/xml/derive/src/field.rs +++ b/crates/xml/derive/src/field.rs @@ -157,7 +157,8 @@ impl Field { (false, true, false) => quote! { builder.#builder_field_ident }, (false, false, true) => quote! { builder.#builder_field_ident }, (false, false, false) => { - quote! { builder.#builder_field_ident.expect("todo: handle missing field") } + let field_ident = self.field_ident().into_token_stream().to_string(); + quote! { builder.#builder_field_ident.ok_or(::rustical_xml::XmlDeError::MissingField(#field_ident))? } } }; quote! { #target_field_index: #builder_value }