diff options
Diffstat (limited to 'compiler/rustc_middle/src/ty/util.rs')
| -rw-r--r-- | compiler/rustc_middle/src/ty/util.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/rustc_middle/src/ty/util.rs b/compiler/rustc_middle/src/ty/util.rs index c77985c6bd6..e5b2d342452 100644 --- a/compiler/rustc_middle/src/ty/util.rs +++ b/compiler/rustc_middle/src/ty/util.rs @@ -360,16 +360,16 @@ impl<'tcx> TyCtxt<'tcx> { let ty = self.type_of(adt_did).subst_identity(); let mut dtor_candidate = None; self.for_each_relevant_impl(drop_trait, ty, |impl_did| { - let Some(item_id) = self.associated_item_def_ids(impl_did).first() else { - self.sess.delay_span_bug(self.def_span(impl_did), "Drop impl without drop function"); - return; - }; - if validate(self, impl_did).is_err() { // Already `ErrorGuaranteed`, no need to delay a span bug here. return; } + let Some(item_id) = self.associated_item_def_ids(impl_did).first() else { + self.sess.delay_span_bug(self.def_span(impl_did), "Drop impl without drop function"); + return; + }; + if let Some((old_item_id, _)) = dtor_candidate { self.sess .struct_span_err(self.def_span(item_id), "multiple drop impls found") |
