Query associated_item_def_ids when needed

This commit moves a query to `associated_item_defs` from above an error
condition caused independently of it to below it.

It looks generally cleaner and might potentially save some runtime in
case the error condition is met, rendering `items` to be left unused,
yet still queried.
This commit is contained in:
Clara Engler 2026-01-08 19:41:24 +01:00
parent 32fe406b5e
commit 1eb605f634
No known key found for this signature in database
GPG key ID: 4CBE96203A1A78A7

View file

@ -79,13 +79,12 @@ impl<'tcx> InherentCollect<'tcx> {
}
if self.tcx.features().rustc_attrs() {
let items = self.tcx.associated_item_def_ids(impl_def_id);
if !self.tcx.has_attr(ty_def_id, sym::rustc_has_incoherent_inherent_impls) {
let impl_span = self.tcx.def_span(impl_def_id);
return Err(self.tcx.dcx().emit_err(errors::InherentTyOutside { span: impl_span }));
}
let items = self.tcx.associated_item_def_ids(impl_def_id);
for &impl_item in items {
if !find_attr!(
self.tcx.get_all_attrs(impl_item),