From: Paolo Bonzini Date: Tue, 4 Nov 2025 15:44:52 +0000 (+0100) Subject: system: add prelude X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0eb26603d2c8c2e7336d0fa03c4e2b3f069b7eb;p=thirdparty%2Fqemu.git system: add prelude Signed-off-by: Paolo Bonzini --- diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/device.rs index be1bdf5ab1..0b1bb2d5a3 100644 --- a/rust/hw/char/pl011/src/device.rs +++ b/rust/hw/char/pl011/src/device.rs @@ -10,7 +10,7 @@ use common::prelude::*; use hwcore::{prelude::*, ClockEvent, IRQState}; use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, Owned, ParentField, ParentInit}; -use system::{hwaddr, MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder}; +use system::prelude::*; use util::prelude::*; use crate::registers::{self, Interrupt, RegisterOffset}; diff --git a/rust/hw/timer/hpet/src/device.rs b/rust/hw/timer/hpet/src/device.rs index b7153a46e3..c5cdb87b07 100644 --- a/rust/hw/timer/hpet/src/device.rs +++ b/rust/hw/timer/hpet/src/device.rs @@ -16,8 +16,9 @@ use hwcore::prelude::*; use migration::{self, prelude::*}; use qom::{prelude::*, ObjectImpl, ParentField, ParentInit}; use system::{ - bindings::{address_space_memory, address_space_stl_le, hwaddr}, - MemoryRegion, MemoryRegionOps, MemoryRegionOpsBuilder, MEMTXATTRS_UNSPECIFIED, + bindings::{address_space_memory, address_space_stl_le}, + MEMTXATTRS_UNSPECIFIED, + prelude::*, }; use util::prelude::*; diff --git a/rust/system/meson.build b/rust/system/meson.build index 2cd2dd3667..e9f36ed855 100644 --- a/rust/system/meson.build +++ b/rust/system/meson.build @@ -30,6 +30,7 @@ _system_rs = static_library( 'src/lib.rs', 'src/bindings.rs', 'src/memory.rs', + 'src/prelude.rs', ], {'.': _system_bindings_inc_rs} ), diff --git a/rust/system/src/lib.rs b/rust/system/src/lib.rs index aafe9a866c..5fb83b65d8 100644 --- a/rust/system/src/lib.rs +++ b/rust/system/src/lib.rs @@ -4,3 +4,8 @@ pub mod bindings; mod memory; pub use memory::*; + +// preserve one-item-per-"use" syntax, it is clearer +// for prelude-like modules +#[rustfmt::skip] +pub mod prelude; diff --git a/rust/system/src/prelude.rs b/rust/system/src/prelude.rs new file mode 100644 index 0000000000..2d98524c36 --- /dev/null +++ b/rust/system/src/prelude.rs @@ -0,0 +1,8 @@ +//! Essential types and traits intended for blanket imports. + +// Core memory types +pub use crate::memory::hwaddr; +pub use crate::memory::MemoryRegion; +pub use crate::memory::MemoryRegionOps; +pub use crate::memory::MemoryRegionOpsBuilder; +pub use crate::memory::MemTxAttrs;