On 2/24/26 15:06, Markus Armbruster wrote:
Paolo Bonzini <[email protected]> writes:
This adds two related parts of the Rust bindings:
[...]
docs/devel/rust.rst | 1 +
meson.build | 4 +-
include/qobject/qobject.h | 5 +-
rust/util/wrapper.h | 8 +
qapi/meson.build | 9 +
rust/Cargo.lock | 2 +
rust/Cargo.toml | 2 +
rust/meson.build | 4 +
rust/tests/meson.build | 21 +-
rust/tests/tests/integration.rs | 2 +
rust/tests/tests/qapi.rs | 444 +++++++++++++
rust/util/Cargo.toml | 2 +
rust/util/meson.build | 30 +-
rust/util/src/lib.rs | 4 +
rust/util/src/qobject/deserialize.rs | 134 ++++
rust/util/src/qobject/deserializer.rs | 371 +++++++++++
Are you sure having two source filenames differ in just one character is
a good idea?
rust/util/src/qobject/error.rs | 58 ++
rust/util/src/qobject/mod.rs | 383 ++++++++++++
rust/util/src/qobject/serialize.rs | 59 ++
rust/util/src/qobject/serializer.rs | 585 ++++++++++++++++++
Likewise.
I feel and share your pain... That's how serde calls the things ("-er"
for the struct and verb for the trait) and I cannot really thing of a
different naming for files.
I thought of renaming serializer.rs to to_qobject.rs, and
deserializer.rs to from_qobject.rs. However, that doesn't work out
because I want "qobject::to_object" to be the function, not the module
containing to_qobject() and Serializer.
serde_json places the struct and trait in the same file (e.g.
https://github.com/serde-rs/json/blob/master/src/value/ser.rs). I can
do that if you prefer it that way.
Paolo
These caused a bit of friction in review already...
[...]