diff options
| author | Alexey Semenyuk <alexsemenyuk88@gmail.com> | 2024-12-17 14:16:48 +0500 |
|---|---|---|
| committer | Alexey Semenyuk <alexsemenyuk88@gmail.com> | 2024-12-17 14:16:48 +0500 |
| commit | a5d5edc581be1ba1c598f9313e309263bc7360b3 (patch) | |
| tree | 3d238fda801e4fecf0053b10afc98c4eac0efdde | |
| parent | c2d23ad0df5b3603ea0a1d2f4892fb84faaf8a3f (diff) | |
| download | rust-a5d5edc581be1ba1c598f9313e309263bc7360b3.tar.gz rust-a5d5edc581be1ba1c598f9313e309263bc7360b3.zip | |
Do not trigger trailing_empty_array in tests
| -rw-r--r-- | clippy_lints/src/trailing_empty_array.rs | 7 | ||||
| -rw-r--r-- | tests/ui/trailing_empty_array.rs | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/clippy_lints/src/trailing_empty_array.rs b/clippy_lints/src/trailing_empty_array.rs index a1d92c3ac71..82cc5155380 100644 --- a/clippy_lints/src/trailing_empty_array.rs +++ b/clippy_lints/src/trailing_empty_array.rs @@ -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; @@ -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, diff --git a/tests/ui/trailing_empty_array.rs b/tests/ui/trailing_empty_array.rs index 3d06c262168..560438b882c 100644 --- a/tests/ui/trailing_empty_array.rs +++ b/tests/ui/trailing_empty_array.rs @@ -192,3 +192,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], + } + } +} |
