diff options
| author | Daria Sukhonina <dariasukhonina@gmail.com> | 2024-05-03 15:47:23 +0300 |
|---|---|---|
| committer | Daria Sukhonina <dariasukhonina@gmail.com> | 2024-05-29 12:56:59 +0300 |
| commit | 7cdd95e1a683c89baff762a6c7755951bcd32717 (patch) | |
| tree | 3ba5f071259e448b986f70b762c980a8edcb383b /compiler/rustc_ty_utils/src/instance.rs | |
| parent | a47173c4f77b5e7c960ffe178eba2bc00bb91e31 (diff) | |
| download | rust-7cdd95e1a683c89baff762a6c7755951bcd32717.tar.gz rust-7cdd95e1a683c89baff762a6c7755951bcd32717.zip | |
Optimize async drop glue for some old types
Diffstat (limited to 'compiler/rustc_ty_utils/src/instance.rs')
| -rw-r--r-- | compiler/rustc_ty_utils/src/instance.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_ty_utils/src/instance.rs b/compiler/rustc_ty_utils/src/instance.rs index 0d089205c1e..e4dcea785d4 100644 --- a/compiler/rustc_ty_utils/src/instance.rs +++ b/compiler/rustc_ty_utils/src/instance.rs @@ -4,6 +4,7 @@ use rustc_infer::infer::TyCtxtInferExt; use rustc_middle::bug; use rustc_middle::query::Providers; use rustc_middle::traits::{BuiltinImplSource, CodegenObligationError}; +use rustc_middle::ty::util::AsyncDropGlueMorphology; use rustc_middle::ty::GenericArgsRef; use rustc_middle::ty::{self, Instance, TyCtxt, TypeVisitableExt}; use rustc_span::sym; @@ -59,7 +60,7 @@ fn resolve_instance<'tcx>( } else if Some(def_id) == tcx.lang_items().async_drop_in_place_fn() { let ty = args.type_at(0); - if !ty.is_async_destructor_noop(tcx, param_env) { + if ty.async_drop_glue_morphology(tcx) != AsyncDropGlueMorphology::Noop { match *ty.kind() { ty::Closure(..) | ty::CoroutineClosure(..) |
