On Wed, Oct 01, 2025 at 10:00:44AM +0200, Paolo Bonzini wrote:
> Date: Wed,  1 Oct 2025 10:00:44 +0200
> From: Paolo Bonzini <[email protected]>
> Subject: [PATCH 07/14] rust: add Deserializer (from_qobject) implementation
>  for QObject
> X-Mailer: git-send-email 2.51.0
> 
> This allows creating any serializable data structure from QObject.
> 
> Co-authored-by: Marc-AndrĂ© Lureau <[email protected]>
> Signed-off-by: Marc-AndrĂ© Lureau <[email protected]>
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  docs/devel/rust.rst                   |   1 +
>  rust/util/meson.build                 |   1 +
>  rust/util/src/qobject/deserializer.rs | 373 ++++++++++++++++++++++++++
>  rust/util/src/qobject/error.rs        |   8 +-
>  rust/util/src/qobject/mod.rs          |   2 +
>  5 files changed, 384 insertions(+), 1 deletion(-)
>  create mode 100644 rust/util/src/qobject/deserializer.rs

...

> diff --git a/rust/util/src/qobject/deserializer.rs 
> b/rust/util/src/qobject/deserializer.rs
> new file mode 100644
> index 00000000000..a2fe417e72a
> --- /dev/null
> +++ b/rust/util/src/qobject/deserializer.rs
> @@ -0,0 +1,373 @@
> +//! `QObject` deserializer
> +//!
> +//! This module implements a [`Deserializer`](serde::de::Deserializer) that
> +//! produces `QObject`s, allowing them to be turned into deserializable data
       ^^^^^^^^
Only a nit,

This "produces" word puzzled me for a while. I think it should be
"consumes".

Then the logic of 4 things did in this series should be the following?

            serializer          serialize
Rust struct ----------> QObject ---------> JSON
            <----------         <---------
            deserializer        deserialize

Maybe we could have the similar documentation/decription in mod.rs or
somewhere to provide a high-level overview :).

> +//! structures (such as primitive data types, or structs that implement
> +//! `Deserialize`).
> +

The implementation itself looks good,

Reviewed-by: Zhao Liu <[email protected]>



Reply via email to