From 19708b795100f4b428f281d8dddcf88a71a9baf5 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 27 Apr 2025 15:09:02 +0200 Subject: [PATCH] xml: Add support for enum other tuple variants --- crates/xml/derive/src/variant.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/xml/derive/src/variant.rs b/crates/xml/derive/src/variant.rs index 469ba24..df3211a 100644 --- a/crates/xml/derive/src/variant.rs +++ b/crates/xml/derive/src/variant.rs @@ -119,8 +119,16 @@ impl Variant { } } } - (true, Fields::Unnamed(_), _) => { - panic!("other for tuple enums not implemented yet") + (true, Fields::Unnamed(FieldsUnnamed { unnamed, .. }), _) => { + if unnamed.len() != 1 { + panic!("tuple variants should contain exactly one element"); + } + quote! { + _ => { + let val = <#deserializer_type as ::rustical_xml::XmlDeserialize>::deserialize(reader, start, empty)?; + Ok(Self::#ident(val)) + } + } } (true, Fields::Unit, _) => { quote! {