From 390f038132aa1b32f720c1ebb3157b6d7ea632ad Mon Sep 17 00:00:00 2001 From: blyxyas Date: Thu, 29 Aug 2024 00:40:34 +0200 Subject: [PATCH] Add macro test --- clippy_lints/src/lib.rs | 2 +- clippy_lints/src/manual_div_ceil.rs | 8 ++++++-- tests/ui/manual_div_ceil.rs | 9 +++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 779249e21436..9fc1a81da6d1 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -936,6 +936,6 @@ pub fn register_lints(store: &mut rustc_lint::LintStore, conf: &'static Conf) { store.register_early_pass(|| Box::new(byte_char_slices::ByteCharSlice)); store.register_early_pass(|| Box::new(cfg_not_test::CfgNotTest)); store.register_late_pass(|_| Box::new(zombie_processes::ZombieProcesses)); - store.register_late_pass(move |_| Box::new(manual_div_ceil::ManualDivCeil::new(msrv()))); + store.register_late_pass(move |_| Box::new(manual_div_ceil::ManualDivCeil::new(conf))); // add lints here, do not remove this comment, it's used in `new_lint` } diff --git a/clippy_lints/src/manual_div_ceil.rs b/clippy_lints/src/manual_div_ceil.rs index d9ff53c55531..024c2547dc6e 100644 --- a/clippy_lints/src/manual_div_ceil.rs +++ b/clippy_lints/src/manual_div_ceil.rs @@ -12,6 +12,8 @@ use rustc_middle::ty::{self}; use rustc_session::impl_lint_pass; use rustc_span::symbol::Symbol; +use clippy_config::Conf; + declare_clippy_lint! { /// ### What it does /// Checks for an expression like `(x + (y - 1)) / y` which is a common manual reimplementation @@ -45,8 +47,10 @@ pub struct ManualDivCeil { impl ManualDivCeil { #[must_use] - pub fn new(msrv: Msrv) -> Self { - Self { msrv } + pub fn new(conf: &'static Conf) -> Self { + Self { + msrv: conf.msrv.clone(), + } } } diff --git a/tests/ui/manual_div_ceil.rs b/tests/ui/manual_div_ceil.rs index 2de74c7eaa88..bc74934899ba 100644 --- a/tests/ui/manual_div_ceil.rs +++ b/tests/ui/manual_div_ceil.rs @@ -27,4 +27,13 @@ fn main() { let _ = (z as i32 + (y_i - 1)) / y_i; let _ = (7_u32 as i32 + (y_i - 1)) / y_i; let _ = (7_u32 as i32 + (4 - 1)) / 4; + + macro_rules! fill_via_chunks { + ($size: expr, $b: expr) => {{ + let size = $size; + let chunk_size = ($b + size - 1) / size; + }}; + } + + fill_via_chunks!(45, 45); }