diff mbox series

[04/12] rust: macros: check that #[derive(Object)] requires #[repr(C)]

Message ID 20241220142955.652636-5-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series Next round of qemu_api patches | expand

Commit Message

Paolo Bonzini Dec. 20, 2024, 2:29 p.m. UTC
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 rust/qemu-api-macros/src/lib.rs | 2 ++
 1 file changed, 2 insertions(+)

Comments

Zhao Liu Dec. 25, 2024, 4:46 p.m. UTC | #1
On Fri, Dec 20, 2024 at 03:29:46PM +0100, Paolo Bonzini wrote:
> Date: Fri, 20 Dec 2024 15:29:46 +0100
> From: Paolo Bonzini <pbonzini@redhat.com>
> Subject: [PATCH 04/12] rust: macros: check that #[derive(Object)] requires
>  #[repr(C)]
> X-Mailer: git-send-email 2.47.1
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  rust/qemu-api-macros/src/lib.rs | 2 ++
>  1 file changed, 2 insertions(+)
> 

LGTM,

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>

(I think this patch would be best placed before patch 3. What do you
 think?)
diff mbox series

Patch

diff --git a/rust/qemu-api-macros/src/lib.rs b/rust/qemu-api-macros/src/lib.rs
index 778b698be45..0f04cca3841 100644
--- a/rust/qemu-api-macros/src/lib.rs
+++ b/rust/qemu-api-macros/src/lib.rs
@@ -54,6 +54,8 @@  fn is_c_repr(input: &DeriveInput, msg: &str) -> Result<(), CompileError> {
 }
 
 fn derive_object_or_error(input: DeriveInput) -> Result<proc_macro2::TokenStream, CompileError> {
+    is_c_repr(&input, "#[derive(Object)]")?;
+
     let name = &input.ident;
     let parent = &get_fields(&input, "#[derive(Object)]")?[0].ident;