1
Fork 0

Use .and chaining to improve readability.

This commit is contained in:
Nicholas Nethercote 2025-01-29 15:30:21 +11:00
parent ceb09de256
commit 40db88979d
3 changed files with 16 additions and 20 deletions

View file

@ -2267,14 +2267,12 @@ impl<'tcx> WfCheckingCtxt<'_, 'tcx> {
fn check_mod_type_wf(tcx: TyCtxt<'_>, module: LocalModDefId) -> Result<(), ErrorGuaranteed> { fn check_mod_type_wf(tcx: TyCtxt<'_>, module: LocalModDefId) -> Result<(), ErrorGuaranteed> {
let items = tcx.hir_module_items(module); let items = tcx.hir_module_items(module);
let mut res = items.par_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id)); let res = items
res = .par_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id))
res.and(items.par_impl_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id))); .and(items.par_impl_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id)))
res = .and(items.par_trait_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id)))
res.and(items.par_trait_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id))); .and(items.par_foreign_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id)))
res = res .and(items.par_opaques(|item| tcx.ensure().check_well_formed(item)));
.and(items.par_foreign_items(|item| tcx.ensure().check_well_formed(item.owner_id.def_id)));
res = res.and(items.par_opaques(|item| tcx.ensure().check_well_formed(item)));
if module == LocalModDefId::CRATE_DEF_ID { if module == LocalModDefId::CRATE_DEF_ID {
super::entry::check_for_entry_fn(tcx); super::entry::check_for_entry_fn(tcx);
} }

View file

@ -158,12 +158,12 @@ fn coherent_trait(tcx: TyCtxt<'_>, def_id: DefId) -> Result<(), ErrorGuaranteed>
let trait_ref = trait_header.trait_ref.instantiate_identity(); let trait_ref = trait_header.trait_ref.instantiate_identity();
let trait_def = tcx.trait_def(trait_ref.def_id); let trait_def = tcx.trait_def(trait_ref.def_id);
res = res.and(check_impl(tcx, impl_def_id, trait_ref, trait_def)); res = res
res = res.and(check_object_overlap(tcx, impl_def_id, trait_ref)); .and(check_impl(tcx, impl_def_id, trait_ref, trait_def))
.and(check_object_overlap(tcx, impl_def_id, trait_ref))
res = res.and(unsafety::check_item(tcx, impl_def_id, trait_header, trait_def)); .and(unsafety::check_item(tcx, impl_def_id, trait_header, trait_def))
res = res.and(tcx.ensure().orphan_check_impl(impl_def_id)); .and(tcx.ensure().orphan_check_impl(impl_def_id))
res = res.and(builtin::check_trait(tcx, def_id, impl_def_id, trait_header)); .and(builtin::check_trait(tcx, def_id, impl_def_id, trait_header));
} }
res res

View file

@ -119,7 +119,6 @@ fn check_always_applicable(
impl2_node: Node, impl2_node: Node,
) -> Result<(), ErrorGuaranteed> { ) -> Result<(), ErrorGuaranteed> {
let span = tcx.def_span(impl1_def_id); let span = tcx.def_span(impl1_def_id);
let mut res = check_has_items(tcx, impl1_def_id, impl2_node, span);
let (impl1_args, impl2_args) = get_impl_args(tcx, impl1_def_id, impl2_node)?; let (impl1_args, impl2_args) = get_impl_args(tcx, impl1_def_id, impl2_node)?;
let impl2_def_id = impl2_node.def_id(); let impl2_def_id = impl2_node.def_id();
@ -131,11 +130,10 @@ fn check_always_applicable(
unconstrained_parent_impl_args(tcx, impl2_def_id, impl2_args) unconstrained_parent_impl_args(tcx, impl2_def_id, impl2_args)
}; };
res = res.and(check_static_lifetimes(tcx, &parent_args, span)); check_has_items(tcx, impl1_def_id, impl2_node, span)
res = res.and(check_duplicate_params(tcx, impl1_args, parent_args, span)); .and(check_static_lifetimes(tcx, &parent_args, span))
res = res.and(check_predicates(tcx, impl1_def_id, impl1_args, impl2_node, impl2_args, span)); .and(check_duplicate_params(tcx, impl1_args, parent_args, span))
.and(check_predicates(tcx, impl1_def_id, impl1_args, impl2_node, impl2_args, span))
res
} }
fn check_has_items( fn check_has_items(