Use Iterator::find instead of open-coding it

This commit is contained in:
LingMan 2021-06-01 20:50:08 +02:00
parent 1160cf864f
commit 86562b4fdb

View File

@ -680,16 +680,11 @@ pub fn transparent_newtype_field<'a, 'tcx>(
variant: &'a ty::VariantDef,
) -> Option<&'a ty::FieldDef> {
let param_env = tcx.param_env(variant.def_id);
for field in &variant.fields {
variant.fields.iter().find(|field| {
let field_ty = tcx.type_of(field.did);
let is_zst = tcx.layout_of(param_env.and(field_ty)).map_or(false, |layout| layout.is_zst());
if !is_zst {
return Some(field);
}
}
None
!is_zst
})
}
/// Is type known to be non-null?