Browse Source

migration: add prelude

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
pull/316/head
Paolo Bonzini 9 months ago
parent
commit
e560f257b2
  1. 3
      rust/chardev/src/prelude.rs
  2. 5
      rust/hw/char/pl011/src/device.rs
  3. 2
      rust/hw/core/tests/tests.rs
  4. 5
      rust/hw/timer/hpet/src/device.rs
  5. 1
      rust/migration/meson.build
  6. 5
      rust/migration/src/lib.rs
  7. 19
      rust/migration/src/prelude.rs
  8. 5
      rust/tests/tests/vmstate_tests.rs

3
rust/chardev/src/prelude.rs

@ -0,0 +1,3 @@
//! Essential types and traits intended for blanket imports.
pub use crate::chardev::{Chardev, CharFrontend, Event};

5
rust/hw/char/pl011/src/device.rs

@ -8,10 +8,7 @@ use bql::BqlRefCell;
use chardev::{CharFrontend, Chardev, Event};
use common::prelude::*;
use hwcore::{prelude::*, ClockEvent, IRQState};
use migration::{
self, impl_vmstate_forward, impl_vmstate_struct, vmstate_fields, vmstate_of,
vmstate_subsections, vmstate_unused, VMStateDescription, VMStateDescriptionBuilder,
};
use migration::{self, prelude::*};
use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit};
use system::{hwaddr, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder};
use util::prelude::*;

2
rust/hw/core/tests/tests.rs

@ -6,7 +6,7 @@ use std::{ffi::CStr, ptr::addr_of};
use bql::BqlCell;
use hwcore::prelude::*;
use migration::{VMStateDescription, VMStateDescriptionBuilder};
use migration::prelude::*;
use qom::{prelude::*, ObjectImpl, ParentField};
use util::bindings::{module_call_init, module_init_type};

5
rust/hw/timer/hpet/src/device.rs

@ -13,10 +13,7 @@ use std::{
use bql::{BqlCell, BqlRefCell};
use common::prelude::*;
use hwcore::prelude::*;
use migration::{
self, impl_vmstate_struct, vmstate_fields, vmstate_of, vmstate_subsections, vmstate_validate,
VMStateDescription, VMStateDescriptionBuilder,
};
use migration::{self, prelude::*};
use qom::{prelude::*, ObjectImpl, ParentField, ParentInit};
use system::{
bindings::{address_space_memory, address_space_stl_le, hwaddr},

1
rust/migration/meson.build

@ -32,6 +32,7 @@ _migration_rs = static_library(
'src/lib.rs',
'src/bindings.rs',
'src/migratable.rs',
'src/prelude.rs',
'src/vmstate.rs',
],
{'.' : _migration_bindings_inc_rs},

5
rust/migration/src/lib.rs

@ -7,5 +7,10 @@ pub use qemu_macros::ToMigrationState;
pub mod migratable;
pub use migratable::*;
// preserve one-item-per-"use" syntax, it is clearer
// for prelude-like modules
#[rustfmt::skip]
pub mod prelude;
pub mod vmstate;
pub use vmstate::*;

19
rust/migration/src/prelude.rs

@ -0,0 +1,19 @@
//! Essential types and traits intended for blanket imports.
// Core migration traits and types
pub use crate::vmstate::VMState;
pub use crate::vmstate::VMStateDescription;
pub use crate::vmstate::VMStateDescriptionBuilder;
// Migratable wrappers
pub use crate::migratable::Migratable;
pub use crate::ToMigrationState;
// Commonly used macros
pub use crate::impl_vmstate_forward;
pub use crate::impl_vmstate_struct;
pub use crate::vmstate_fields;
pub use crate::vmstate_of;
pub use crate::vmstate_subsections;
pub use crate::vmstate_unused;
pub use crate::vmstate_validate;

5
rust/tests/tests/vmstate_tests.rs

@ -16,9 +16,8 @@ use migration::{
vmstate_info_bool, vmstate_info_int32, vmstate_info_int64, vmstate_info_int8,
vmstate_info_uint64, vmstate_info_uint8, vmstate_info_unused_buffer, VMStateFlags,
},
impl_vmstate_forward, impl_vmstate_struct,
vmstate::{VMStateDescription, VMStateDescriptionBuilder, VMStateField},
vmstate_fields, vmstate_of, vmstate_unused, vmstate_validate,
prelude::*,
vmstate::VMStateField,
};
const FOO_ARRAY_MAX: usize = 3;

Loading…
Cancel
Save