[PATCH v3 1/6] rust: add warn_on_err macro
From: Alexandre Courbot
Date: Wed Apr 22 2026 - 09:47:23 EST
While we already have the `warn_on` macro, a common usage pattern in
Rust is to check whether a `Result` is an error. Add a helper macro that
allows this.
Reviewed-by: Eliot Courtney <ecourtney@xxxxxxxxxx>
Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
---
rust/kernel/bug.rs | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/rust/kernel/bug.rs b/rust/kernel/bug.rs
index ed943960f851..c5809c554da7 100644
--- a/rust/kernel/bug.rs
+++ b/rust/kernel/bug.rs
@@ -130,3 +130,13 @@ macro_rules! warn_on {
cond
}};
}
+
+/// Report a warning if `res` is an error and return `res` unmodified.
+#[macro_export]
+macro_rules! warn_on_err {
+ ($res:expr) => {{
+ let res = $res;
+ let _ = $crate::warn_on!(res.is_err());
+ res
+ }};
+}
--
2.53.0