Signed-off-by: Paolo Bonzini <[email protected]>
---
rust/chardev/meson.build | 1 +
rust/chardev/src/lib.rs | 5 +++++
rust/chardev/src/prelude.rs | 4 +++-
rust/hw/char/pl011/src/device.rs | 2 +-
4 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/rust/chardev/meson.build b/rust/chardev/meson.build
index 36ada7c4546..d89baba8e20 100644
--- a/rust/chardev/meson.build
+++ b/rust/chardev/meson.build
@@ -30,6 +30,7 @@ _chardev_rs = static_library(
'src/lib.rs',
'src/bindings.rs',
'src/chardev.rs',
+ 'src/prelude.rs',
],
{'.': _chardev_bindings_inc_rs}
),
diff --git a/rust/chardev/src/lib.rs b/rust/chardev/src/lib.rs
index 2e549f99d91..93a28725932 100644
--- a/rust/chardev/src/lib.rs
+++ b/rust/chardev/src/lib.rs
@@ -4,3 +4,8 @@
mod chardev;
pub use chardev::*;
+
+// preserve one-item-per-"use" syntax, it is clearer
+// for prelude-like modules
+#[rustfmt::skip]
+pub mod prelude;
diff --git a/rust/chardev/src/prelude.rs b/rust/chardev/src/prelude.rs
index 9f0b561bfab..f949d925399 100644
--- a/rust/chardev/src/prelude.rs
+++ b/rust/chardev/src/prelude.rs
@@ -1,3 +1,5 @@
//! Essential types and traits intended for blanket imports.
-pub use crate::chardev::{Chardev, CharFrontend, Event};
\ No newline at end of file
+pub use crate::chardev::Chardev;
+pub use crate::chardev::CharFrontend;
+pub use crate::chardev::Event;
diff --git a/rust/hw/char/pl011/src/device.rs b/rust/hw/char/pl011/src/device.rs
index 2e4ccc9b231..ff929e60993 100644
--- a/rust/hw/char/pl011/src/device.rs
+++ b/rust/hw/char/pl011/src/device.rs
@@ -5,7 +5,7 @@
use std::{ffi::CStr, mem::size_of};
use bql::BqlRefCell;
-use chardev::{CharFrontend, Chardev, Event};
+use chardev::prelude::*;
use common::prelude::*;
use hwcore::{prelude::*, ClockEvent, IRQState};
use migration::{self, prelude::*};
--
2.51.1