Ensure that negative auto impls are always applicable

This commit is contained in:
Michael Goulet
2025-02-28 01:28:32 +00:00
parent fd17deacce
commit 3d62b279dd
19 changed files with 275 additions and 107 deletions

View File

@@ -62,9 +62,9 @@ a type parameter).
*/
pub mod always_applicable;
mod check;
mod compare_impl_item;
pub mod dropck;
mod entry;
pub mod intrinsic;
pub mod intrinsicck;
@@ -113,11 +113,11 @@ pub fn provide(providers: &mut Providers) {
}
fn adt_destructor(tcx: TyCtxt<'_>, def_id: LocalDefId) -> Option<ty::Destructor> {
tcx.calculate_dtor(def_id.to_def_id(), dropck::check_drop_impl)
tcx.calculate_dtor(def_id.to_def_id(), always_applicable::check_drop_impl)
}
fn adt_async_destructor(tcx: TyCtxt<'_>, def_id: LocalDefId) -> Option<ty::AsyncDestructor> {
tcx.calculate_async_dtor(def_id.to_def_id(), dropck::check_drop_impl)
tcx.calculate_async_dtor(def_id.to_def_id(), always_applicable::check_drop_impl)
}
/// Given a `DefId` for an opaque type in return position, find its parent item's return