On Mon, Apr 06, 2026 at 01:53:09AM +0200, Miguel Ojeda wrote: > The Clippy `precedence` lint was extended in Rust 1.85.0 to include > bitmasking and shift operations [1]. However, because it generated > many hits, in Rust 1.86.0 it was split into a new `precedence_bits` > lint which is not enabled by default [2]. > > In other words, only Rust 1.85 has a different behavior. For instance, > it reports: > > warning: operator precedence can trip the unwary > --> drivers/gpu/nova-core/fb/hal/ga100.rs:16:5 > | > 16 | / > u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::read(bar).adr_39_08()) << > FLUSH_SYSMEM_ADDR_SHIFT > 17 | | | > u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR_HI::read(bar).adr_63_40()) > 18 | | << FLUSH_SYSMEM_ADDR_SHIFT_HI > | |_________________________________________^ > | > = help: for further information visit > https://rust-lang.github.io/rust-clippy/master/index.html#precedence > = note: `-W clippy::precedence` implied by `-W clippy::all` > = help: to override `-W clippy::all` add `#[allow(clippy::precedence)]` > help: consider parenthesizing your expression > | > 16 ~ > (u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::read(bar).adr_39_08()) << > FLUSH_SYSMEM_ADDR_SHIFT) | > (u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR_HI::read(bar).adr_63_40()) > 17 + << FLUSH_SYSMEM_ADDR_SHIFT_HI) > | > > While so far we try our best to keep all versions Clippy-clean, the > minimum (which is now Rust 1.85.0 after the bump) and the latest stable > are the most important ones; and this may be considered a "false positive" > with respect to the behavior in other versions. > > Thus allow this lint for this version using the per-version flags > mechanism introduced in the previous commit. > > Link: https://github.com/rust-lang/rust-clippy/issues/14097 [1] > Link: https://github.com/rust-lang/rust-clippy/pull/14115 [2] > Link: > https://lore.kernel.org/rust-for-linux/[email protected]/ > Reviewed-by: Tamir Duberstein <[email protected]> > Reviewed-by: Gary Guo <[email protected]> > Signed-off-by: Miguel Ojeda <[email protected]> > --- > Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) >
Acked-by: Nicolas Schier <[email protected]> -- Nicolas
