mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
rust/qemu-api-macros: make derive(Object) friendly when missing parent
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Link: https://lore.kernel.org/r/20250826133132.4064478-5-marcandre.lureau@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
9a6d6ae8af
commit
96f2c80fed
@@ -85,7 +85,15 @@ fn derive_object_or_error(input: DeriveInput) -> Result<proc_macro2::TokenStream
|
||||
is_c_repr(&input, "#[derive(Object)]")?;
|
||||
|
||||
let name = &input.ident;
|
||||
let parent = &get_fields(&input, "#[derive(Object)]")?[0].ident;
|
||||
let parent = &get_fields(&input, "#[derive(Object)]")?
|
||||
.get(0)
|
||||
.ok_or_else(|| {
|
||||
Error::new(
|
||||
input.ident.span(),
|
||||
"#[derive(Object)] requires a parent field",
|
||||
)
|
||||
})?
|
||||
.ident;
|
||||
|
||||
Ok(quote! {
|
||||
::qemu_api::assert_field_type!(#name, #parent,
|
||||
|
||||
Reference in New Issue
Block a user