]> git.ipfire.org Git - thirdparty/qemu.git/commit
rust: qom: fix TODO about zeroability of classes
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 2 May 2025 15:58:54 +0000 (17:58 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 6 May 2025 14:02:04 +0000 (16:02 +0200)
commit3a1c694d74deb478d9822e585e90c5903852eb84
tree8c13f611f8170f0632af0946ff2f24c693259211
parent0823837224be428d643dc7000fa534f8aedea5fd
rust: qom: fix TODO about zeroability of classes

The proposed suggestion is not correct.  First it is not necessary for
*all* classes to be Zeroable, only for Rust-defined ones; classes
defined in C never implement ObjectImpl.

Second, the parent class field need not be Zeroable.  For example,
ChardevClass's chr_write and chr_be_event fields cannot be NULL,
therefore ChardevClass cannot be Zeroable.  However, char_class_init()
initializes them, therefore ChardevClass could be subclassed by Rust code.

Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
rust/qemu-api/src/qom.rs