Skip to content

Commit

Permalink
Do not trigger trailing_empty_array in tests (rust-lang#13844)
Browse files Browse the repository at this point in the history
Close rust-lang#13837

changelog: [`trailing_empty_array`]: do not trigger on tests
  • Loading branch information
llogiq authored Dec 29, 2024
2 parents 998c780 + a5d5edc commit 786f090
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
7 changes: 5 additions & 2 deletions clippy_lints/src/trailing_empty_array.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use clippy_utils::diagnostics::span_lint_and_help;
use clippy_utils::has_repr_attr;
use clippy_utils::{has_repr_attr, is_in_test};
use rustc_hir::{Item, ItemKind};
use rustc_lint::{LateContext, LateLintPass};
use rustc_middle::ty;
Expand Down Expand Up @@ -37,7 +37,10 @@ declare_lint_pass!(TrailingEmptyArray => [TRAILING_EMPTY_ARRAY]);

impl<'tcx> LateLintPass<'tcx> for TrailingEmptyArray {
fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'tcx>) {
if is_struct_with_trailing_zero_sized_array(cx, item) && !has_repr_attr(cx, item.hir_id()) {
if is_struct_with_trailing_zero_sized_array(cx, item)
&& !has_repr_attr(cx, item.hir_id())
&& !is_in_test(cx.tcx, item.hir_id())
{
span_lint_and_help(
cx,
TRAILING_EMPTY_ARRAY,
Expand Down
14 changes: 14 additions & 0 deletions tests/ui/trailing_empty_array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,17 @@ type C = ConstParamNoDefault<0>;
type D = ConstParamNonZeroDefault<0>;

fn main() {}

#[cfg(test)]
mod tests {
pub struct Friend {
age: u8,
}

#[test]
fn oldest_empty_is_none() {
struct Michael {
friends: [Friend; 0],
}
}
}

0 comments on commit 786f090

Please sign in to comment.