Repository: rust
Issue: ice: `no index for a field`
Labels: I-ICE,T-compiler,C-bug,WG-compiler-parallel

<!--
Thank you for finding an Internal Compiler Error! 🧊  If possible, try to provide
a minimal verifiable example. You can read "Rust Bug Minimization Patterns" for
how to create smaller examples.
http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/
-->

### Code
`rustc -Zthreads=45 --edition=2021`
```Rust
type BoxFuture<T> = std::pin::Pin<Box<dyn std::future::Future<Output = T>>>;

fn main() {
    let _ = f();
}

async fn f() {
    run("dependency").await;
}

struct InMemoryStorage;

pub struct User<'dep> {
    pub name: &'a str,
}

impl<'a> StorageRequest<InMemoryStorage> for SaveUser<'a> {
    fn execute(&self) -> BoxFuture<Result<(), String>> {
        todo!()
    }
}

trait Storage {
    type Error;
}

impl Storage for InMemoryStorage {
    type Error = String;
}

trait StorageRequestReturnType {
    type Output;
}

trait StorageRequest<S: Storage>: StorageRequestReturnType {
    fn execute(
        &self,
    ) -> BoxFuture<Result<<SaveUser as StorageRequestReturnType>::Output, <S as Storage>::Error>>;
}

pub struct SaveUser<'a> {
    pub name: &'a str,
}

impl<'a> StorageRequestReturnType for SaveUser<'a> {
    type Output = ();
}

impl<'dep> User<'dep> {
    async fn save<S>(self)
    where
        S: Storage,
        for<'a> SaveUser<'a>: StorageRequest<S>,
    {
        let _ = run("dependency").await;
    }
}

async fn execute<S>(dep: &str)
where
    S: Storage,
    for<'a> SaveUser<'a>: StorageRequest<S>,
{
    User { dep }.save().await;
}
```


### Meta
<!--
If you're using the stable version of the compiler, you should also check if the
bug also exists in the beta or nightly versions.
-->

`rustc --version --verbose`:
```
rustc 1.78.0-nightly (256b6fb19 2024-02-06)
binary: rustc
commit-hash: 256b6fb19a2c018eaad4806d2369d1f6a71fc6ec
commit-date: 2024-02-06
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 17.0.6
```

### Error output

```
error[E0261]: use of undeclared lifetime name `'a`
  --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:14:16
   |
13 | pub struct User<'dep> {
   |                 - help: consider introducing lifetime `'a` here: `'a,`
14 |     pub name: &'a str,
   |                ^^ undeclared lifetime

error[E0392]: lifetime parameter `'dep` is never used
  --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:13:17
   |
13 | pub struct User<'dep> {
   |                 ^^^^ unused lifetime parameter
   |
   = help: consider removing `'dep`, referring to it in a field, or using a marker such as `PhantomData`

error[E0560]: struct `User<'_>` has no field named `dep`
  --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:64:12
   |
64 |     User { dep }.save().await;
   |            ^^^ `User<'_>` does not have this field
   |
   = note: available fields are: `name`

error[E0425]: cannot find function `run` in this scope
 --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:8:5
  |
8 |     run("dependency").await;
  |     ^^^ not found in this scope

thread 'rustc' panicked at compiler/rustc_middle/src/ty/typeck_results.rs:281:47error[E0425]: cannot find function `run` in this scope
  --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:55:17
   |
55 |         let _ = run("dependency").await;
   |                 ^^^ not found in this scope

:
```

<!-- -Zthreads=45 --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>Backtrace</strong></summary>
<p>

```
error[E0425]: cannot find function `run` in this scope
 --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:8:5
  |
8 |     run("dependency").await;
  |     ^^^ not found in this scope

thread 'rustc' panicked at compiler/rustc_middle/src/ty/typeck_results.rs:281:47error[E0425]: cannot find function `run` in this scope
  --> /home/matthias/vcs/github/glacier2/fixed/icemaker/4BBE6DF87CEC7276717116B695B0B246D53222B5572407A490219AE824204B61.rs:55:17
   |
55 |         let _ = run("dependency").await;
   |                 ^^^ not found in this scope

:
no index for a field
stack backtrace:
   0:     0x7f802898bdd6 - std::backtrace_rs::backtrace::libunwind::trace::h22f05e58caa9ff59
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7f802898bdd6 - std::backtrace_rs::backtrace::trace_unsynchronized::h7906e327863d4861
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f802898bdd6 - std::sys_common::backtrace::_print_fmt::h776159615a49cfcd
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7f802898bdd6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf2c228a340a82885
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f80289de830 - core::fmt::rt::Argument::fmt::he6c0cd9f6c3278a7
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/fmt/rt.rs:142:9
   5:     0x7f80289de830 - core::fmt::write::h5303f05f4c809b64
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/fmt/mod.rs:1120:17
   6:     0x7f802897f6df - std::io::Write::write_fmt::hd183c8fcfd5e6b45
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/io/mod.rs:1854:15
   7:     0x7f802898bbb4 - std::sys_common::backtrace::_print::hf4de1e64fbf090a3
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f802898bbb4 - std::sys_common::backtrace::print::hb77b4a0f8f584264
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f802898e947 - std::panicking::default_hook::{{closure}}::hc42fc7e3b5f6cdbd
  10:     0x7f802898e6a9 - std::panicking::default_hook::hff91b86d193565d4
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/panicking.rs:292:9
  11:     0x7f802b7443bc - std[2c17c6fbbbf20bd]::panicking::update_hook::<alloc[9c1d3d296df120ce]::boxed::Box<rustc_driver_impl[183d3f9280fb921b]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7f802898f096 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h55e149fb63b6b4c2
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/alloc/src/boxed.rs:2029:9
  13:     0x7f802898f096 - std::panicking::rust_panic_with_hook::h48d80c235e73e1c1
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/panicking.rs:785:13
  14:     0x7f802898ede2 - std::panicking::begin_panic_handler::{{closure}}::h5098457d512ce7c7
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/panicking.rs:659:13
  15:     0x7f802898c2d6 - std::sys_common::backtrace::__rust_end_short_backtrace::h88cf4f2b5332de72
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys_common/backtrace.rs:171:18
  16:     0x7f802898eb34 - rust_begin_unwind
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/panicking.rs:647:5
  17:     0x7f80289daf35 - core::panicking::panic_fmt::h673dad205e446227
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/panicking.rs:72:14
  18:     0x7f80289dace3 - core::panicking::panic_display::hefe84613feb687ec
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/panicking.rs:196:5
  19:     0x7f80289dace3 - core::panicking::panic_str::hd8618fb4c80571d4
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/panicking.rs:171:5
  20:     0x7f80289dace3 - core::option::expect_failed::hc2bd0ba35358d799
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/core/src/option.rs:1988:5
  21:     0x7f802cf234d1 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::field_refs
  22:     0x7f802cf26fcc - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  23:     0x7f802ce1fd7f - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr_inner
  24:     0x7f802cf24e10 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  25:     0x7f802cf252de - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  26:     0x7f802cf229b4 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_stmts::{closure#0}
  27:     0x7f802cf22724 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_block
  28:     0x7f802cf23ce6 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  29:     0x7f802cf23c53 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  30:     0x7f802cf22617 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_block
  31:     0x7f802cf23ce6 - <rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::Cx>::mirror_expr
  32:     0x7f802cfcfded - rustc_mir_build[b4bfb04ad3d4f736]::thir::cx::thir_body
  33:     0x7f802cfcf7b0 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::thir_body::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 16usize]>>
  34:     0x7f802d063246 - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  35:     0x7f802d062e95 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::thir_body::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7f802cc97022 - rustc_mir_build[b4bfb04ad3d4f736]::thir::pattern::check_match::check_match
  37:     0x7f802cc9648f - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>
  38:     0x7f802cc95953 - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  39:     0x7f802cc956c3 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::check_match::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7f802ce2800a - rustc_mir_build[b4bfb04ad3d4f736]::build::mir_built
  41:     0x7f802ce27ed5 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  42:     0x7f802cb8ca7a - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  43:     0x7f802cb8c590 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
  44:     0x7f802cb0fb1f - rustc_mir_transform[b838b210a9503b77]::ffi_unwind_calls::has_ffi_unwind_calls
  45:     0x7f802cb0f717 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>
  46:     0x7f802cc95a1e - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  47:     0x7f802cc9561d - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::has_ffi_unwind_calls::get_query_non_incr::__rust_end_short_backtrace
  48:     0x7f802cc93a3d - rustc_mir_transform[b838b210a9503b77]::mir_const
  49:     0x7f802cc93963 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_const::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  50:     0x7f802cb8ca7a - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  51:     0x7f802cb8c4d0 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_const::get_query_non_incr::__rust_end_short_backtrace
  52:     0x7f802ac52942 - rustc_mir_transform[b838b210a9503b77]::mir_promoted
  53:     0x7f802d062f92 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 16usize]>>
  54:     0x7f802d06325c - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  55:     0x7f802d811a23 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
  56:     0x7f802d811b2e - rustc_borrowck[15aaeabcfaf3821f]::mir_borrowck
  57:     0x7f802d811a67 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  58:     0x7f802cb8ca7a - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  59:     0x7f802cb8c41c - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
  60:     0x7f802cef5d8b - <rustc_borrowck[15aaeabcfaf3821f]::type_check::TypeChecker>::prove_closure_bounds
  61:     0x7f802d7e5c83 - <rustc_borrowck[15aaeabcfaf3821f]::type_check::TypeChecker>::typeck_mir
  62:     0x7f802a06f701 - rustc_borrowck[15aaeabcfaf3821f]::type_check::type_check
  63:     0x7f802a0547ae - rustc_borrowck[15aaeabcfaf3821f]::nll::compute_regions
  64:     0x7f802d821595 - rustc_borrowck[15aaeabcfaf3821f]::do_mir_borrowck
  65:     0x7f802d812019 - rustc_borrowck[15aaeabcfaf3821f]::mir_borrowck
  66:     0x7f802d811a67 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  67:     0x7f802cb8ca7a - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  68:     0x7f802cb8c41c - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
  69:     0x7f802d05fda2 - rustc_middle[f6b779eee73bd17d]::query::plumbing::query_get_at::<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_span[4b66b6657a2798ee]::def_id::LocalDefId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>>
  70:     0x7f802d9ca5a2 - rustc_hir_analysis[92dc59229bbb6497]::collect::type_of::type_of_opaque
  71:     0x7f802d9ca409 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  72:     0x7f802ca7a661 - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::DefIdCache<rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  73:     0x7f802da3c71e - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::type_of_opaque::get_query_non_incr::__rust_end_short_backtrace
  74:     0x7f802ceb339f - rustc_middle[f6b779eee73bd17d]::query::plumbing::query_get_at::<rustc_query_system[beb9a530d6f0ac5c]::query::caches::DefIdCache<rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>>
  75:     0x7f802ac99500 - rustc_hir_analysis[92dc59229bbb6497]::collect::type_of::type_of
  76:     0x7f802ca7b9ea - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>
  77:     0x7f802ca7a661 - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::DefIdCache<rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  78:     0x7f802ca7a21d - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
  79:     0x7f802ceb339f - rustc_middle[f6b779eee73bd17d]::query::plumbing::query_get_at::<rustc_query_system[beb9a530d6f0ac5c]::query::caches::DefIdCache<rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 8usize]>>>
  80:     0x7f802d672ab6 - rustc_hir_analysis[92dc59229bbb6497]::check::check::check_item_type
  81:     0x7f802cf34c2a - rustc_hir_analysis[92dc59229bbb6497]::check::wfcheck::check_well_formed
  82:     0x7f802cf33bf3 - rustc_query_impl[6e43d6cfb67ee04a]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6e43d6cfb67ee04a]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>
  83:     0x7f802cf332cb - rustc_query_system[beb9a530d6f0ac5c]::query::plumbing::try_execute_query::<rustc_query_impl[6e43d6cfb67ee04a]::DynamicConfig<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_hir[e219d19804ace631]::hir_id::OwnerId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6e43d6cfb67ee04a]::plumbing::QueryCtxt, false>
  84:     0x7f802cf33043 - rustc_query_impl[6e43d6cfb67ee04a]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  85:     0x7f802cf30cbb - rustc_middle[f6b779eee73bd17d]::query::plumbing::query_ensure_error_guaranteed::<rustc_query_system[beb9a530d6f0ac5c]::query::caches::VecCache<rustc_hir[e219d19804ace631]::hir_id::OwnerId, rustc_middle[f6b779eee73bd17d]::query::erase::Erased<[u8; 1usize]>>, ()>
  86:     0x7f802b80f072 - rayon[2281f709d5bd76b]::iter::plumbing::bridge_producer_consumer::helper::<rayon[2281f709d5bd76b]::slice::IterProducer<rustc_hir[e219d19804ace631]::hir::ItemId>, rayon[2281f709d5bd76b]::iter::filter_map::FilterMapConsumer<rayon[2281f709d5bd76b]::iter::reduce::ReduceConsumer<<core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>>::and<()>, rustc_data_structures[6ce1e65fe0737122]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[e219d19804ace631]::hir::ItemId], rustc_span[4b66b6657a2798ee]::ErrorGuaranteed, <rustc_middle[f6b779eee73bd17d]::hir::ModuleItems>::par_items<rustc_hir_analysis[92dc59229bbb6497]::check::wfcheck::check_mod_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#1}>, rustc_data_structures[6ce1e65fe0737122]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[e219d19804ace631]::hir::ItemId], rustc_span[4b66b6657a2798ee]::ErrorGuaranteed, <rustc_middle[f6b779eee73bd17d]::hir::ModuleItems>::par_items<rustc_hir_analysis[92dc59229bbb6497]::check::wfcheck::check_mod_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}>>
  87:     0x7f802b831a83 - <rayon_core[49ebe7bc7a94b017]::job::StackJob<rayon_core[49ebe7bc7a94b017]::latch::SpinLatch, rayon_core[49ebe7bc7a94b017]::join::join_context::call_b<core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>, rayon[2281f709d5bd76b]::iter::plumbing::bridge_producer_consumer::helper<rayon[2281f709d5bd76b]::slice::IterProducer<rustc_hir[e219d19804ace631]::hir::ItemId>, rayon[2281f709d5bd76b]::iter::filter_map::FilterMapConsumer<rayon[2281f709d5bd76b]::iter::reduce::ReduceConsumer<<core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>>::and<()>, rustc_data_structures[6ce1e65fe0737122]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[e219d19804ace631]::hir::ItemId], rustc_span[4b66b6657a2798ee]::ErrorGuaranteed, <rustc_middle[f6b779eee73bd17d]::hir::ModuleItems>::par_items<rustc_hir_analysis[92dc59229bbb6497]::check::wfcheck::check_mod_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#1}>, rustc_data_structures[6ce1e65fe0737122]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[e219d19804ace631]::hir::ItemId], rustc_span[4b66b6657a2798ee]::ErrorGuaranteed, <rustc_middle[f6b779eee73bd17d]::hir::ModuleItems>::par_items<rustc_hir_analysis[92dc59229bbb6497]::check::wfcheck::check_mod_type_wf::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}>>::{closure#1}>::{closure#0}, core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>> as rayon_core[49ebe7bc7a94b017]::job::Job>::execute
  88:     0x7f802b34e1f5 - <rayon_core[49ebe7bc7a94b017]::registry::WorkerThread>::wait_until_cold
  89:     0x7f802b34ace3 - <rayon_core[49ebe7bc7a94b017]::registry::ThreadBuilder>::run
  90:     0x7f802b7461b7 - <<crossbeam_utils[b53acaedcdcf238d]::thread::ScopedThreadBuilder>::spawn<<rayon_core[49ebe7bc7a94b017]::ThreadPoolBuilder>::build_scoped<rustc_interface[44fac7103cf6efb4]::util::run_in_thread_pool_with_globals<rustc_interface[44fac7103cf6efb4]::interface::run_compiler<core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>, rustc_driver_impl[183d3f9280fb921b]::run_compiler::{closure#0}>::{closure#0}, core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface[44fac7103cf6efb4]::util::run_in_thread_pool_with_globals<rustc_interface[44fac7103cf6efb4]::interface::run_compiler<core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>, rustc_driver_impl[183d3f9280fb921b]::run_compiler::{closure#0}>::{closure#0}, core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core[f5e9b552e9b5c0f8]::result::Result<(), rustc_span[4b66b6657a2798ee]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core[f5e9b552e9b5c0f8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  91:     0x7f802b73b93e - std[2c17c6fbbbf20bd]::sys_common::backtrace::__rust_begin_short_backtrace::<alloc[9c1d3d296df120ce]::boxed::Box<dyn core[f5e9b552e9b5c0f8]::ops::function::FnOnce<(), Output = ()> + core[f5e9b552e9b5c0f8]::marker::Send>, ()>
  92:     0x7f802b745e53 - <<std[2c17c6fbbbf20bd]::thread::Builder>::spawn_unchecked_<alloc[9c1d3d296df120ce]::boxed::Box<dyn core[f5e9b552e9b5c0f8]::ops::function::FnOnce<(), Output = ()> + core[f5e9b552e9b5c0f8]::marker::Send>, ()>::{closure#1} as core[f5e9b552e9b5c0f8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  93:     0x7f8028998735 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8542b097259e0b43
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/alloc/src/boxed.rs:2015:9
  94:     0x7f8028998735 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he185b299f65ba456
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/alloc/src/boxed.rs:2015:9
  95:     0x7f8028998735 - std::sys::pal::unix::thread::Thread::new::thread_start::h12307a2d2012c952
                               at /rustc/256b6fb19a2c018eaad4806d2369d1f6a71fc6ec/library/std/src/sys/pal/unix/thread.rs:108:17
  96:     0x7f80287839eb - <unknown>
  97:     0x7f80288077cc - <unknown>
  98:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

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 attach the file at `/home/matthias/vcs/github/glacier2/fixed/rustc-ice-2024-02-07T23_58_42-1922118.txt` to your bug report

note: compiler flags: -Z threads=45

query stack during panic:
#0 [thir_body] building THIR for `execute::{closure#0}`
#1 [check_match] match-checking `execute::{closure#0}`
#2 [mir_built] building MIR for `execute::{closure#0}`
#3 [has_ffi_unwind_calls] checking if `execute::{closure#0}` contains FFI-unwind calls
#4 [mir_const] preparing `execute::{closure#0}` for borrow checking
#5 [mir_promoted] promoting constants in MIR for `execute::{closure#0}`
#6 [mir_borrowck] borrow-checking `execute::{closure#0}`
#7 [mir_borrowck] borrow-checking `execute`
#8 [type_of_opaque] computing type of opaque `execute::{opaque#0}`
#9 [type_of] computing type of `execute::{opaque#0}`
#10 [check_well_formed] checking that `execute::{opaque#0}` is well-formed
#11 [check_mod_type_wf] checking that types are well-formed in top-level module
#12 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 5 previous errors

Some errors have detailed explanations: E0261, E0392, E0425, E0560.
For more information about an error, try `rustc --explain E0261`.
```

</p>
</details>