qemu/rust/qemu-api
Paolo Bonzini 6e50bde1e1 rust: provide safe wrapper for MaybeUninit::zeroed()
MaybeUninit::zeroed() is handy, but it introduces unsafe (and has a
pretty heavy syntax in general).  Introduce a trait that provides the
same functionality while staying within safe Rust.

In addition, MaybeUninit::zeroed() is not available as a "const"
function until Rust 1.75.0, so this also prepares for having handwritten
implementations of the trait until we can assume that version.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-05 14:18:16 +01:00
..
src rust: provide safe wrapper for MaybeUninit::zeroed() 2024-11-05 14:18:16 +01:00
tests rust: build integration test for the qemu_api crate 2024-11-05 14:18:15 +01:00
.gitignore rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00
build.rs rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00
Cargo.lock rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00
Cargo.toml rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00
meson.build rust: provide safe wrapper for MaybeUninit::zeroed() 2024-11-05 14:18:16 +01:00
README.md rust: add crate to expose bindings and interfaces 2024-10-11 12:32:17 +02:00

QEMU bindings and API wrappers

This library exports helper Rust types, Rust macros and C FFI bindings for internal QEMU APIs.

The C bindings can be generated with bindgen, using this build target:

$ ninja bindings.rs

Generate Rust documentation

To generate docs for this crate, including private items:

cargo doc --no-deps --document-private-items