Re: [PATCH v2 1/5] rust: add warn_on_err macro
From: Gary Guo
Date: Thu Apr 23 2026 - 07:35:41 EST
On Tue Apr 21, 2026 at 7:16 AM BST, Alexandre Courbot wrote:
> 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.
>
> 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..2fefc0aeef81 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 it unmodified.
> +#[macro_export]
> +macro_rules! warn_on_err {
> + ($res:expr) => {{
> + let res = $res;
> + let _ = $crate::warn_on!(res.is_err());
> + res
> + }};
> +}
I think `warn_on_err` could just be expressed as
res.inspect_err(|_| warn_on!(true))
Best,
Gary