Repository: rust
Issue: ICE: `async_destructor_ty` is not yet implemented for type
Labels: I-ICE,T-compiler,C-bug,S-bug-has-test

<!--
[31mICE[0m: Rustc ./ice.rs '-Zunstable-options --edition=2024 -ooutputfile -Zdump-mir-dir=dir' 'error: internal compiler error: compiler/rustc_middle/src/ty/sty.rs:1526:18: `async_destructor_ty` is not yet implemented for type: Coroutine(DefId(0:8 ~ ice[9622]::main::{closure#0}::{closure#0}), [(), std::future::ResumeTy, (), (), CoroutineWitness(DefId(0:8 ~ ice[9622]::main::{closure#0}::{closure#0}), []), ()])', 'error: internal compiler error: compiler/rustc_middle/src/ty/sty.rs:1526:18: `async_destructor_ty` is not yet implemented for type: Coroutine(DefId(0:8 ~ ice[9622]::main::{closure#0}::{closure#0}), [(), std::future::ResumeTy, (), (), CoroutineWitness(DefId(0:8 ~ ice[9622]::main::{closure#0}::{closure#0}), []), ()])'
File: /tmp/async/ice.rs
-->

snippet:
````rust
use core::pin::{pin, Pin};

fn main() {
    let fut = pin!(async {
        let async_drop_fut = pin!(core::future::async_drop(async {}));
        (async_drop_fut).await;
    });
}


````

Version information
````
rustc 1.82.0-nightly (2b78d9209 2024-08-05)
binary: rustc
commit-hash: 2b78d920964e1d70927bcd208529bda0e11120d0
commit-date: 2024-08-05
host: x86_64-unknown-linux-gnu
release: 1.82.0-nightly
LLVM version: 19.1.0

````

Command:
`/home/matthias/.rustup/toolchains/master/bin/rustc --edition=2021`

<!--
Include a backtrace in the code block by setting `RUST_BACKTRACE=1` in your
environment. E.g. `RUST_BACKTRACE=1 cargo build`.
-->
<details><summary><strong>Program output</strong></summary>
<p>

```
warning: unused import: `Pin`
 --> /tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:1:22
  |
1 | use core::pin::{pin, Pin};
  |                      ^^^
  |
  = note: `#[warn(unused_imports)]` on by default

error[E0658]: use of unstable library feature 'async_drop'
 --> /tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:5:35
  |
5 |         let async_drop_fut = pin!(core::future::async_drop(async {}));
  |                                   ^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #126482 <https://github.com/rust-lang/rust/issues/126482> for more information
  = help: add `#![feature(async_drop)]` to the crate attributes to enable
  = note: this compiler was built on 2024-08-05; consider upgrading it if it is out of date

warning: unused variable: `fut`
 --> /tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:4:9
  |
4 |     let fut = pin!(async {
  |         ^^^ help: if this is intentional, prefix it with an underscore: `_fut`
  |
  = note: `#[warn(unused_variables)]` on by default

error: internal compiler error: compiler/rustc_middle/src/ty/sty.rs:1526:18: `async_destructor_ty` is not yet implemented for type: Coroutine(DefId(0:8 ~ mvce[e48e]::main::{closure#0}::{closure#0}), [(), std::future::ResumeTy, (), (), CoroutineWitness(DefId(0:8 ~ mvce[e48e]::main::{closure#0}::{closure#0}), []), ()])

thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:1526:18:
Box<dyn Any>
stack backtrace:
   0:     0x7c1e437e1eed - std::backtrace_rs::backtrace::libunwind::trace::hd487082065afad31
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
   1:     0x7c1e437e1eed - std::backtrace_rs::backtrace::trace_unsynchronized::had74a042aa4665ca
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7c1e437e1eed - std::sys::backtrace::_print_fmt::heecbf4d365d4b901
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/sys/backtrace.rs:66:9
   3:     0x7c1e437e1eed - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hc2c60860a6e00ae3
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/sys/backtrace.rs:39:26
   4:     0x7c1e4383267b - core::fmt::rt::Argument::fmt::he3d74ecb6075a6db
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/core/src/fmt/rt.rs:173:76
   5:     0x7c1e4383267b - core::fmt::write::hfafe28d8d9609699
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/core/src/fmt/mod.rs:1178:21
   6:     0x7c1e437d5d83 - std::io::Write::write_fmt::he17d3ff08b5ca3aa
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/io/mod.rs:1823:15
   7:     0x7c1e437e46e2 - std::sys::backtrace::BacktraceLock::print::h7957e08feeb74b69
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/sys/backtrace.rs:42:9
   8:     0x7c1e437e46e2 - std::panicking::default_hook::{{closure}}::h03c8c96044fa080e
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/panicking.rs:266:22
   9:     0x7c1e437e434e - std::panicking::default_hook::h081821c7f9e530f9
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/panicking.rs:293:9
  10:     0x7c1e3fca2377 - std[372096be7590f67b]::panicking::update_hook::<alloc[5e6dfdd63415f1c1]::boxed::Box<rustc_driver_impl[a1e7a1d2c0288e43]::install_ice_hook::{closure#0}>>::{closure#0}
  11:     0x7c1e437e50d2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he515642c39ffbb17
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/alloc/src/boxed.rs:2164:9
  12:     0x7c1e437e50d2 - std::panicking::rust_panic_with_hook::h5ea120d0f04d26f5
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/panicking.rs:805:13
  13:     0x7c1e3fcdd6b1 - std[372096be7590f67b]::panicking::begin_panic::<rustc_errors[6a3534fea3ae7d7d]::ExplicitBug>::{closure#0}
  14:     0x7c1e3fcd0556 - std[372096be7590f67b]::sys::backtrace::__rust_end_short_backtrace::<std[372096be7590f67b]::panicking::begin_panic<rustc_errors[6a3534fea3ae7d7d]::ExplicitBug>::{closure#0}, !>
  15:     0x7c1e3fccb636 - std[372096be7590f67b]::panicking::begin_panic::<rustc_errors[6a3534fea3ae7d7d]::ExplicitBug>
  16:     0x7c1e3fce6ac1 - <rustc_errors[6a3534fea3ae7d7d]::diagnostic::BugAbort as rustc_errors[6a3534fea3ae7d7d]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  17:     0x7c1e402c1024 - rustc_middle[8b57c7802985b820]::util::bug::opt_span_bug_fmt::<rustc_span[af2c47d646d8d813]::span_encoding::Span>::{closure#0}
  18:     0x7c1e402a674a - rustc_middle[8b57c7802985b820]::ty::context::tls::with_opt::<rustc_middle[8b57c7802985b820]::util::bug::opt_span_bug_fmt<rustc_span[af2c47d646d8d813]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  19:     0x7c1e402a65eb - rustc_middle[8b57c7802985b820]::ty::context::tls::with_context_opt::<rustc_middle[8b57c7802985b820]::ty::context::tls::with_opt<rustc_middle[8b57c7802985b820]::util::bug::opt_span_bug_fmt<rustc_span[af2c47d646d8d813]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  20:     0x7c1e3dfb85f0 - rustc_middle[8b57c7802985b820]::util::bug::bug_fmt
  21:     0x7c1e402bdfa2 - <rustc_middle[8b57c7802985b820]::ty::Ty>::async_destructor_ty
  22:     0x7c1e41af82dd - rustc_trait_selection[7c5b8a2a3a54fcb4]::traits::project::opt_normalize_projection_term
  23:     0x7c1e41749e30 - rustc_traits[7ffed581a2057a80]::normalize_projection_ty::normalize_canonicalized_projection_ty
  24:     0x7c1e41749bb7 - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::normalize_canonicalized_projection_ty::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>
  25:     0x7c1e417474cf - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::DefaultCache<rustc_type_ir[74be4d10eb05b1d6]::canonical::Canonical<rustc_middle[8b57c7802985b820]::ty::context::TyCtxt, rustc_middle[8b57c7802985b820]::ty::ParamEnvAnd<rustc_type_ir[74be4d10eb05b1d6]::ty_kind::AliasTy<rustc_middle[8b57c7802985b820]::ty::context::TyCtxt>>>, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  26:     0x7c1e417470fa - rustc_query_impl[fff8b9d307dfb694]::query_impl::normalize_canonicalized_projection_ty::get_query_non_incr::__rust_end_short_backtrace
  27:     0x7c1e4164481e - <rustc_trait_selection[7c5b8a2a3a54fcb4]::traits::query::normalize::QueryNormalizer as rustc_type_ir[74be4d10eb05b1d6]::fold::FallibleTypeFolder<rustc_middle[8b57c7802985b820]::ty::context::TyCtxt>>::try_fold_ty
  28:     0x7c1e41640d34 - <rustc_traits[7ffed581a2057a80]::normalize_erasing_regions::provide::{closure#0} as core[4630c84a20e11b73]::ops::function::FnOnce<(rustc_middle[8b57c7802985b820]::ty::context::TyCtxt, rustc_middle[8b57c7802985b820]::ty::ParamEnvAnd<rustc_middle[8b57c7802985b820]::ty::generic_args::GenericArg>)>>::call_once
  29:     0x7c1e41640893 - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::try_normalize_generic_arg_after_erasing_regions::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>
  30:     0x7c1e4163ff64 - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::DefaultCache<rustc_middle[8b57c7802985b820]::ty::ParamEnvAnd<rustc_middle[8b57c7802985b820]::ty::generic_args::GenericArg>, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  31:     0x7c1e4163fca0 - rustc_query_impl[fff8b9d307dfb694]::query_impl::try_normalize_generic_arg_after_erasing_regions::get_query_non_incr::__rust_end_short_backtrace
  32:     0x7c1e4163a8e2 - <rustc_middle[8b57c7802985b820]::ty::normalize_erasing_regions::TryNormalizeAfterErasingRegionsFolder as rustc_type_ir[74be4d10eb05b1d6]::fold::FallibleTypeFolder<rustc_middle[8b57c7802985b820]::ty::context::TyCtxt>>::try_fold_ty
  33:     0x7c1e418c02ee - rustc_ty_utils[2da9bcb3deeae6cb]::needs_drop::needs_drop_raw
  34:     0x7c1e418bf4ad - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::needs_drop_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 1usize]>>
  35:     0x7c1e418be8ba - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::DefaultCache<rustc_middle[8b57c7802985b820]::ty::ParamEnvAnd<rustc_middle[8b57c7802985b820]::ty::Ty>, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  36:     0x7c1e418be50e - rustc_query_impl[fff8b9d307dfb694]::query_impl::needs_drop_raw::get_query_non_incr::__rust_end_short_backtrace
  37:     0x7c1e41626e04 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::as_temp::{closure#0}
  38:     0x7c1e4161f249 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_as_place
  39:     0x7c1e4161f92e - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_as_place
  40:     0x7c1e4162d4d7 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  41:     0x7c1e41626ac4 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::as_temp::{closure#0}
  42:     0x7c1e4161f249 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_as_place
  43:     0x7c1e4161f0e4 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_as_place
  44:     0x7c1e4162d4d7 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  45:     0x7c1e41626ac4 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::as_temp::{closure#0}
  46:     0x7c1e41614643 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::as_operand
  47:     0x7c1e41614330 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::as_operand
  48:     0x7c1e4162cf36 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  49:     0x7c1e4162ee23 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  50:     0x7c1e41e192fe - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::ast_block_stmts
  51:     0x7c1e41e184c9 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::ast_block
  52:     0x7c1e4162cc4c - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  53:     0x7c1e4162ee23 - <rustc_mir_build[9b7f04a666236ccf]::build::Builder>::expr_into_dest
  54:     0x7c1e41a21d67 - rustc_mir_build[9b7f04a666236ccf]::build::mir_build
  55:     0x7c1e41a1fb52 - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>
  56:     0x7c1e4157f575 - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::VecCache<rustc_span[af2c47d646d8d813]::def_id::LocalDefId, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  57:     0x7c1e4157f08d - rustc_query_impl[fff8b9d307dfb694]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
  58:     0x7c1e415f27ea - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor>::visit_inner_body
  59:     0x7c1e3d9aa244 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  60:     0x7c1e3d9ab617 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  61:     0x7c1e3d9aa244 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  62:     0x7c1e3d9aa2dd - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  63:     0x7c1e3d9aa4dc - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  64:     0x7c1e3d9aa2dd - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  65:     0x7c1e3d9aa244 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  66:     0x7c1e3d9aa5b8 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  67:     0x7c1e3d9aa244 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  68:     0x7c1e41d01560 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_block
  69:     0x7c1e3d9ab617 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  70:     0x7c1e3d9aa244 - <rustc_mir_build[9b7f04a666236ccf]::check_unsafety::UnsafetyVisitor as rustc_middle[8b57c7802985b820]::thir::visit::Visitor>::visit_expr
  71:     0x7c1e41a1514b - rustc_mir_build[9b7f04a666236ccf]::check_unsafety::check_unsafety
  72:     0x7c1e41a14c09 - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 0usize]>>
  73:     0x7c1e41a13dd5 - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::VecCache<rustc_span[af2c47d646d8d813]::def_id::LocalDefId, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  74:     0x7c1e41a13a9b - rustc_query_impl[fff8b9d307dfb694]::query_impl::check_unsafety::get_query_non_incr::__rust_end_short_backtrace
  75:     0x7c1e41573120 - rustc_interface[3ae751466c32522b]::passes::analysis
  76:     0x7c1e41572347 - rustc_query_impl[fff8b9d307dfb694]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fff8b9d307dfb694]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 1usize]>>
  77:     0x7c1e4217caae - rustc_query_system[cee8d1feabaeba8c]::query::plumbing::try_execute_query::<rustc_query_impl[fff8b9d307dfb694]::DynamicConfig<rustc_query_system[cee8d1feabaeba8c]::query::caches::SingleCache<rustc_middle[8b57c7802985b820]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[fff8b9d307dfb694]::plumbing::QueryCtxt, false>
  78:     0x7c1e4217c80f - rustc_query_impl[fff8b9d307dfb694]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  79:     0x7c1e4208cb63 - rustc_interface[3ae751466c32522b]::interface::run_compiler::<core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>, rustc_driver_impl[a1e7a1d2c0288e43]::run_compiler::{closure#0}>::{closure#1}
  80:     0x7c1e4204ca09 - std[372096be7590f67b]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[3ae751466c32522b]::util::run_in_thread_with_globals<rustc_interface[3ae751466c32522b]::util::run_in_thread_pool_with_globals<rustc_interface[3ae751466c32522b]::interface::run_compiler<core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>, rustc_driver_impl[a1e7a1d2c0288e43]::run_compiler::{closure#0}>::{closure#1}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>::{closure#0}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>
  81:     0x7c1e4204c7b2 - <<std[372096be7590f67b]::thread::Builder>::spawn_unchecked_<rustc_interface[3ae751466c32522b]::util::run_in_thread_with_globals<rustc_interface[3ae751466c32522b]::util::run_in_thread_pool_with_globals<rustc_interface[3ae751466c32522b]::interface::run_compiler<core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>, rustc_driver_impl[a1e7a1d2c0288e43]::run_compiler::{closure#0}>::{closure#1}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>::{closure#0}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4630c84a20e11b73]::result::Result<(), rustc_span[af2c47d646d8d813]::ErrorGuaranteed>>::{closure#1} as core[4630c84a20e11b73]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  82:     0x7c1e437eedeb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc432c7df3694644e
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/alloc/src/boxed.rs:2150:9
  83:     0x7c1e437eedeb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h930de35167c6745d
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/alloc/src/boxed.rs:2150:9
  84:     0x7c1e437eedeb - std::sys::pal::unix::thread::Thread::new::thread_start::h9abd733d1fc33b43
                               at /rustc/2b78d920964e1d70927bcd208529bda0e11120d0/library/std/src/sys/pal/unix/thread.rs:105:17
  85:     0x7c1e3c6a6ded - <unknown>
  86:     0x7c1e3c72a0dc - <unknown>
  87:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please make sure that you have updated to the latest nightly

note: rustc 1.82.0-nightly (2b78d9209 2024-08-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z unstable-options -Z dump-mir-dir=dir

query stack during panic:
#0 [normalize_canonicalized_projection_ty] normalizing `<{async block@/tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:5:60: 5:65} as core::future::async_drop::AsyncDestruct>::AsyncDestructor`
#1 [try_normalize_generic_arg_after_erasing_regions] normalizing `<{async block@/tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:5:60: 5:65} as core::future::async_drop::AsyncDestruct>::AsyncDestructor`
end of query stack
error: aborting due to 2 previous errors; 2 warnings emitted

For more information about this error, try `rustc --explain E0658`.

```

</p>
</details>

<!--
query stack:
#0 [normalize_canonicalized_projection_ty] normalizing `<{async block@/tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:5:60: 5:65} as core::future::async_drop::AsyncDestruct>::AsyncDestructor`
#1 [try_normalize_generic_arg_after_erasing_regions] normalizing `<{async block@/tmp/icemaker_global_tempdir.Wny9jJIT7aUz/rustc_testrunner_tmpdir_reporting.hBa0PVzhSOgj/mvce.rs:5:60: 5:65} as core::future::async_drop::AsyncDestruct>::AsyncDestructor`

-->