Fix large_include_file lint being triggered all the time by doc comments (#13672)

Fixes #13670.

Bug was that I forgot to add the comparison with the included file
content length...

changelog: Fix `large_include_file` lint being triggered all the time by
doc comments
This commit is contained in:
Manish Goregaokar 2024-11-09 16:01:12 +00:00 committed by GitHub
commit 4f0e46b74d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 1 deletions

View file

@ -94,6 +94,8 @@ impl LateLintPass<'_> for LargeIncludeFile {
// Currently, rustc limits the usage of macro at the top-level of attributes, // Currently, rustc limits the usage of macro at the top-level of attributes,
// so we don't need to recurse into each level. // so we don't need to recurse into each level.
&& let AttrKind::Normal(ref normal) = attr.kind && let AttrKind::Normal(ref normal) = attr.kind
&& let Some(doc) = attr.doc_str()
&& doc.as_str().len() as u64 > self.max_file_size
&& let AttrArgs::Eq(_, AttrArgsEq::Hir(ref meta)) = normal.item.args && let AttrArgs::Eq(_, AttrArgsEq::Hir(ref meta)) = normal.item.args
&& !attr.span.contains(meta.span) && !attr.span.contains(meta.span)
// Since the `include_str` is already expanded at this point, we can only take the // Since the `include_str` is already expanded at this point, we can only take the

View file

@ -15,5 +15,9 @@ const TOO_BIG_INCLUDE_BYTES: &[u8; 654] = include_bytes!("too_big.txt");
const TOO_BIG_INCLUDE_STR: &str = include_str!("too_big.txt"); const TOO_BIG_INCLUDE_STR: &str = include_str!("too_big.txt");
//~^ large_include_file //~^ large_include_file
#[doc = include_str!("too_big.txt")] //~ large_include_file #[doc = include_str!("too_big.txt")]
//~^ large_include_file
// Should not lint!
// Regression test for <https://github.com/rust-lang/rust-clippy/issues/13670>.
#[doc = include_str!("empty.txt")]
fn main() {} fn main() {}