From b3e6d52e49345db9e59c955b79ca3ea7cf4f7afc Mon Sep 17 00:00:00 2001 From: Arvind Mukund Date: Sat, 9 Mar 2024 12:35:17 -0800 Subject: [PATCH] We don't need to check for non-exhaustive fields Fields are disallowed so checking the top attribute is enough. --- compiler/rustc_lint/src/types.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/rustc_lint/src/types.rs b/compiler/rustc_lint/src/types.rs index 001bf27afb9c..ae118ffbf4c3 100644 --- a/compiler/rustc_lint/src/types.rs +++ b/compiler/rustc_lint/src/types.rs @@ -1114,8 +1114,7 @@ fn is_niche_optimization_candidate<'tcx>( match ty.kind() { ty::Adt(ty_def, _) => { - let non_exhaustive = ty_def.is_variant_list_non_exhaustive() - || ty_def.variants().iter().any(|variant| variant.is_field_list_non_exhaustive()); + let non_exhaustive = ty_def.is_variant_list_non_exhaustive(); let contains_no_fields = ty_def.all_fields().next().is_none(); !non_exhaustive && contains_no_fields