mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
rust: device: avoid trailing ; in printing macros
These macros are used like expressions, so they should not emit a
semicolon. This is being turned into a hard error in a future release of
Rust.
error: trailing semicolon in macro used in expression position
--> drivers/gpu/nova-core/firmware/fsp.rs:79:34
|
79 | .inspect_err(|_| dev_err!(dev, "FMC firmware missing '{}' section\n", name))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: this error originates in the macro `dev_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[ I was doubly surprised since upstream made it a deny-by-default lint
a year ago for Rust 1.91.0, and yet we didn't see it; plus I hadn't
seen this in my CI even yesterday.
It turns out this just landed into today's nightly (nightly-2026-07-16,
using upstream commit d0babd8b6):
Link: https://github.com/rust-lang/rust/pull/159222
which says:
"The `semicolon_in_expressions_from_macros` lint previously
suppressed warnings about non-local macros. This masks
a lint that will subsequently become a hard error."
So that explains it. And this is the PR that will make it a hard error
at some point in the future:
Link: https://github.com/rust-lang/rust/pull/159218
Thus starting with Rust 1.99.0 (expected 2026-10-01), we will be
seeing the deny-by-default lint above, so clean it up already.
- Miguel ]
Cc: stable@vger.kernel.org # Needed in 6.18.y and later.
Link: https://github.com/rust-lang/rust/issues/79813
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Acked-by: Danilo Krummrich <dakr@kernel.org>
Link: https://github.com/rust-lang/rust/pull/159218
Link: https://github.com/rust-lang/rust/pull/159222
Link: https://patch.msgid.link/20260716-device-trail-semicolon-v1-1-f48e9dcfae15@google.com
[ Fixed typo. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
5a81c35c3b
commit
a19bda861b
|
|
@ -708,9 +708,7 @@ macro_rules! impl_device_context_into_aref {
|
|||
#[macro_export]
|
||||
macro_rules! dev_printk {
|
||||
($method:ident, $dev:expr, $($f:tt)*) => {
|
||||
{
|
||||
$crate::device::Device::$method($dev.as_ref(), $crate::prelude::fmt!($($f)*))
|
||||
}
|
||||
$crate::device::Device::$method($dev.as_ref(), $crate::prelude::fmt!($($f)*))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -737,7 +735,7 @@ macro_rules! dev_printk {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_emerg {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_emerg, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_emerg, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an alert-level message (level 1) prefixed with device information.
|
||||
|
|
@ -763,7 +761,7 @@ macro_rules! dev_emerg {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_alert {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_alert, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_alert, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a critical-level message (level 2) prefixed with device information.
|
||||
|
|
@ -789,7 +787,7 @@ macro_rules! dev_alert {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_crit {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_crit, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_crit, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an error-level message (level 3) prefixed with device information.
|
||||
|
|
@ -815,7 +813,7 @@ macro_rules! dev_crit {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_err {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_err, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_err, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a warning-level message (level 4) prefixed with device information.
|
||||
|
|
@ -841,7 +839,7 @@ macro_rules! dev_err {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_warn {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_warn, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_warn, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a notice-level message (level 5) prefixed with device information.
|
||||
|
|
@ -867,7 +865,7 @@ macro_rules! dev_warn {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_notice {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_notice, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_notice, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints an info-level message (level 6) prefixed with device information.
|
||||
|
|
@ -893,7 +891,7 @@ macro_rules! dev_notice {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_info {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_info, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_info, $($f)*) }
|
||||
}
|
||||
|
||||
/// Prints a debug-level message (level 7) prefixed with device information.
|
||||
|
|
@ -919,5 +917,5 @@ macro_rules! dev_info {
|
|||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! dev_dbg {
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_dbg, $($f)*); }
|
||||
($($f:tt)*) => { $crate::dev_printk!(pr_dbg, $($f)*) }
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user