rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.37k stars 12.59k forks source link

ICE: `assertion failed: unique` #125249

Open matthiaskrgr opened 4 months ago

matthiaskrgr commented 4 months ago

auto-reduced (treereduce-rust):

#![feature(return_position_impl_trait_in_trait, return_type_notation)]

trait IntFactory {
    fn stream(&self) -> impl IntFactory<stream(): IntFactory<stream(): Send> + Send>;
}

original:

#![feature(return_position_impl_trait_in_trait, return_type_notation)]

trait IntFactory {
    fn stream(&self) -> impl IntFactory<stream(): IntFactory<stream(): Send> + Send>;
}
trait SendIntFactory: IntFactory<stream(): Send> + Send {}

Version information

rustc 1.80.0-nightly (36c0a6d40 2024-05-18)
binary: rustc
commit-hash: 36c0a6d40fb6aae9c450305085d64e2ba55c6c58
commit-date: 2024-05-18
host: x86_64-unknown-linux-gnu
release: 1.80.0-nightly
LLVM version: 18.1.4

Command: /home/matthias/.rustup/toolchains/master/bin/rustc --crate-type=lib

Program output

``` warning: the feature `return_type_notation` is incomplete and may not be safe to use and/or cause compiler crashes --> /tmp/icemaker_global_tempdir.m4kvtvaNzsSJ/rustc_testrunner_tmpdir_reporting.sI91r3JGKfet/mvce.rs:1:49 | 1 | #![feature(return_position_impl_trait_in_trait, return_type_notation)] | ^^^^^^^^^^^^^^^^^^^^ | = note: see issue #109417 for more information = note: `#[warn(incomplete_features)]` on by default warning: the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable --> /tmp/icemaker_global_tempdir.m4kvtvaNzsSJ/rustc_testrunner_tmpdir_reporting.sI91r3JGKfet/mvce.rs:1:12 | 1 | #![feature(return_position_impl_trait_in_trait, return_type_notation)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(stable_features)]` on by default warning: trait `IntFactory` is never used --> /tmp/icemaker_global_tempdir.m4kvtvaNzsSJ/rustc_testrunner_tmpdir_reporting.sI91r3JGKfet/mvce.rs:3:7 | 3 | trait IntFactory { | ^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default thread 'rustc' panicked at compiler/rustc_lint/src/impl_trait_overcaptures.rs:171:21: assertion failed: unique stack backtrace: 0: 0x7e9f17fe69e5 - std::backtrace_rs::backtrace::libunwind::trace::hf2bc7f5038b3e369 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5 1: 0x7e9f17fe69e5 - std::backtrace_rs::backtrace::trace_unsynchronized::h231bca9ebdb2d476 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x7e9f17fe69e5 - std::sys_common::backtrace::_print_fmt::hb8880a770a528751 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys_common/backtrace.rs:68:5 3: 0x7e9f17fe69e5 - ::fmt::h33a25d9d3cddcff1 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys_common/backtrace.rs:44:22 4: 0x7e9f18035b9b - core::fmt::rt::Argument::fmt::hb79968a3099c2b80 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/core/src/fmt/rt.rs:165:63 5: 0x7e9f18035b9b - core::fmt::write::h87de2705f4fdde46 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/core/src/fmt/mod.rs:1169:21 6: 0x7e9f17fdb77f - std::io::Write::write_fmt::habafebc10fded2ab at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/io/mod.rs:1835:15 7: 0x7e9f17fe67be - std::sys_common::backtrace::_print::hb1d61293da984960 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys_common/backtrace.rs:47:5 8: 0x7e9f17fe67be - std::sys_common::backtrace::print::h2131b88f8087e7b2 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys_common/backtrace.rs:34:9 9: 0x7e9f17fe91b9 - std::panicking::default_hook::{{closure}}::h68cf6ae540909963 10: 0x7e9f17fe8efd - std::panicking::default_hook::h4b57c10c74892259 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/panicking.rs:298:9 11: 0x7e9f148fba8f - std[4409b2d227107481]::panicking::update_hook::>::{closure#0} 12: 0x7e9f17fe98eb - as core::ops::function::Fn>::call::hf3d7594c845607a3 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/alloc/src/boxed.rs:2036:9 13: 0x7e9f17fe98eb - std::panicking::rust_panic_with_hook::he223310e59b58621 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/panicking.rs:799:13 14: 0x7e9f17fe962b - std::panicking::begin_panic_handler::{{closure}}::h2b1c193a81afbc45 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/panicking.rs:656:13 15: 0x7e9f17fe6ea9 - std::sys_common::backtrace::__rust_end_short_backtrace::h4f10616ff00feb98 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys_common/backtrace.rs:171:18 16: 0x7e9f17fe9397 - rust_begin_unwind at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/panicking.rs:652:5 17: 0x7e9f18032163 - core::panicking::panic_fmt::hcc56f9541c31fe59 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/core/src/panicking.rs:72:14 18: 0x7e9f1803220c - core::panicking::panic::h5c79f86ebaa4ce23 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/core/src/panicking.rs:146:5 19: 0x7e9f1634d56c - >::visit_ty 20: 0x7e9f1634cf09 - >::visit_ty 21: 0x7e9f1634bda6 - >::visit_binder::> 22: 0x7e9f1634b18c - rustc_lint[18589ef7f21dc6df]::impl_trait_overcaptures::check_fn 23: 0x7e9f15e7c4b8 - as rustc_hir[38c888bf6a6f703]::intravisit::Visitor>::visit_nested_item 24: 0x7e9f15e7ab29 - rustc_lint[18589ef7f21dc6df]::lint_mod 25: 0x7e9f15e7a921 - rustc_query_impl[98154bf48ac5ed09]::plumbing::__rust_begin_short_backtrace::> 26: 0x7e9f1674297d - rustc_query_system[8e8a87f940666368]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[98154bf48ac5ed09]::plumbing::QueryCtxt, false> 27: 0x7e9f167407ff - rustc_query_impl[98154bf48ac5ed09]::query_impl::lint_mod::get_query_non_incr::__rust_end_short_backtrace 28: 0x7e9f167403d9 - rustc_lint[18589ef7f21dc6df]::late::check_crate::{closure#1} 29: 0x7e9f1673fe00 - rustc_lint[18589ef7f21dc6df]::late::check_crate 30: 0x7e9f16749453 - rustc_interface[ada677875731fed0]::passes::analysis 31: 0x7e9f1674895b - rustc_query_impl[98154bf48ac5ed09]::plumbing::__rust_begin_short_backtrace::> 32: 0x7e9f169abee5 - rustc_query_system[8e8a87f940666368]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[98154bf48ac5ed09]::plumbing::QueryCtxt, false> 33: 0x7e9f169abc49 - rustc_query_impl[98154bf48ac5ed09]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace 34: 0x7e9f16822fce - rustc_interface[ada677875731fed0]::interface::run_compiler::, rustc_driver_impl[ec6cf89b952751b7]::run_compiler::{closure#0}>::{closure#1} 35: 0x7e9f1680da49 - std[4409b2d227107481]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[ec6cf89b952751b7]::run_compiler::{closure#0}>::{closure#1}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>>::{closure#0}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>> 36: 0x7e9f1680d7f6 - <::spawn_unchecked_, rustc_driver_impl[ec6cf89b952751b7]::run_compiler::{closure#0}>::{closure#1}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>>::{closure#0}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b65be67b0b9d2881]::result::Result<(), rustc_span[744739c6604e47db]::ErrorGuaranteed>>::{closure#2} as core[b65be67b0b9d2881]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 37: 0x7e9f17ff378b - as core::ops::function::FnOnce>::call_once::hd707e428c387a32b at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/alloc/src/boxed.rs:2022:9 38: 0x7e9f17ff378b - as core::ops::function::FnOnce>::call_once::h5849656bb97cf604 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/alloc/src/boxed.rs:2022:9 39: 0x7e9f17ff378b - std::sys::pal::unix::thread::Thread::new::thread_start::h493d13a7185ac4a0 at /rustc/36c0a6d40fb6aae9c450305085d64e2ba55c6c58/library/std/src/sys/pal/unix/thread.rs:108:17 40: 0x7e9f17d9255a - 41: 0x7e9f17e0fa3c - 42: 0x0 - 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 make sure that you have updated to the latest nightly note: rustc 1.80.0-nightly (36c0a6d40 2024-05-18) running on x86_64-unknown-linux-gnu note: compiler flags: --crate-type lib -Z dump-mir-dir=dir query stack during panic: #0 [lint_mod] linting top-level module #1 [analysis] running analysis passes on this crate end of query stack warning: 3 warnings emitted ```

@rustbot label +F-return_position_impl_trait_in_trait +F-return_type_notation

matthiaskrgr commented 4 months ago

Regression in nightly-2024-05-15

124228 cc @compiler-errors

matthiaskrgr commented 1 day ago

update stacktrace #129244

error: return type notation arguments must be elided with `..`
 --> a.rs:4:47
  |
4 |     fn stream(&self) -> impl IntFactory<stream(): IntFactory<stream(): Send> + Send>;
  |                                               ^^ help: add `..`: `(..)`

error: return type notation arguments must be elided with `..`
 --> a.rs:4:68
  |
4 |     fn stream(&self) -> impl IntFactory<stream(): IntFactory<stream(): Send> + Send>;
  |                                                                    ^^ help: add `..`: `(..)`

error[E0601]: `main` function not found in crate `a`
 --> a.rs:5:2
  |
5 | }
  |  ^ consider adding a `main` function to `a.rs`

warning: the feature `return_position_impl_trait_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
 --> a.rs:1:12
  |
1 | #![feature(return_position_impl_trait_in_trait, return_type_notation)]
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(stable_features)]` on by default

thread 'rustc' panicked at compiler/rustc_infer/src/infer/mod.rs:1342:26:
index out of bounds: the len is 0 but the index is 0
stack backtrace:
   0:     0x7f5ff61249fa - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h585b06d402bc00d5
   1:     0x7f5ff6803426 - core::fmt::write::h62d1c51a5a367817
   2:     0x7f5ff7a1a651 - std::io::Write::write_fmt::hd7881933ac2a1e16
   3:     0x7f5ff6124852 - std::sys::backtrace::BacktraceLock::print::ha0ac5d8e3803f857
   4:     0x7f5ff6126d26 - std::panicking::default_hook::{{closure}}::h7a48a96dd6d0b686
   5:     0x7f5ff6126b70 - std::panicking::default_hook::h4ad77b5924a748da
   6:     0x7f5ff51db8ff - std[f6927571c1bb7893]::panicking::update_hook::<alloc[1b6d6df6cca9b2d3]::boxed::Box<rustc_driver_impl[83de0f0d7a3bbaf8]::install_ice_hook::{closure#0}>>::{closure#0}
   7:     0x7f5ff6127438 - std::panicking::rust_panic_with_hook::h15ea114d0f0705b7
   8:     0x7f5ff612720a - std::panicking::begin_panic_handler::{{closure}}::h51c98e91577ce4f1
   9:     0x7f5ff6124ea9 - std::sys::backtrace::__rust_end_short_backtrace::h9be02724e7705975
  10:     0x7f5ff6126ecc - rust_begin_unwind
  11:     0x7f5ff2ec1b50 - core::panicking::panic_fmt::h29396fab03b6c714
  12:     0x7f5ff4913b1b - core::panicking::panic_bounds_check::h21e21338a43170da
  13:     0x7f5ff70cffe3 - <&rustc_middle[4aa8808438232afe]::ty::list::RawList<(), rustc_middle[4aa8808438232afe]::ty::generic_args::GenericArg> as rustc_type_ir[e4a03ddda3530d0c]::fold::TypeFoldable<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[4aa8808438232afe]::ty::fold::BoundVarReplacer<<rustc_infer[27b9cda0ac85ee20]::infer::InferCtxt>::instantiate_binder_with_fresh_vars::ToFreshVars>>
  14:     0x7f5ff70d0e8a - <rustc_middle[4aa8808438232afe]::ty::fold::BoundVarReplacer<<rustc_infer[27b9cda0ac85ee20]::infer::InferCtxt>::instantiate_binder_with_fresh_vars::ToFreshVars> as rustc_type_ir[e4a03ddda3530d0c]::fold::TypeFolder<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::fold_ty
  15:     0x7f5ff70cfe3e - <&rustc_middle[4aa8808438232afe]::ty::list::RawList<(), rustc_middle[4aa8808438232afe]::ty::generic_args::GenericArg> as rustc_type_ir[e4a03ddda3530d0c]::fold::TypeFoldable<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::try_fold_with::<rustc_middle[4aa8808438232afe]::ty::fold::BoundVarReplacer<<rustc_infer[27b9cda0ac85ee20]::infer::InferCtxt>::instantiate_binder_with_fresh_vars::ToFreshVars>>
  16:     0x7f5ff70bc45b - <rustc_infer[27b9cda0ac85ee20]::infer::InferCtxt>::instantiate_binder_with_fresh_vars::<rustc_type_ir[e4a03ddda3530d0c]::predicate::TraitRef<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>
  17:     0x7f5ff331b633 - <rustc_trait_selection[d03aaefc9e43bec8]::traits::select::SelectionContext>::candidate_from_obligation_no_cache
  18:     0x7f5ff74b2f84 - <rustc_trait_selection[d03aaefc9e43bec8]::traits::select::SelectionContext>::poly_select::{closure#0}
  19:     0x7f5ff717afaa - rustc_trait_selection[d03aaefc9e43bec8]::traits::project::opt_normalize_projection_term
  20:     0x7f5ff7177cdf - <rustc_trait_selection[d03aaefc9e43bec8]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[e4a03ddda3530d0c]::fold::TypeFolder<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::fold_ty
  21:     0x7f5ff7171a4f - <&rustc_middle[4aa8808438232afe]::ty::list::RawList<(), rustc_middle[4aa8808438232afe]::ty::generic_args::GenericArg> as rustc_type_ir[e4a03ddda3530d0c]::fold::TypeFoldable<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::try_fold_with::<rustc_trait_selection[d03aaefc9e43bec8]::traits::normalize::AssocTypeNormalizer>
  22:     0x7f5ff717188d - <rustc_trait_selection[d03aaefc9e43bec8]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[e4a03ddda3530d0c]::fold::FallibleTypeFolder<rustc_middle[4aa8808438232afe]::ty::context::TyCtxt>>::try_fold_predicate
  23:     0x7f5ff7169093 - rustc_trait_selection[d03aaefc9e43bec8]::traits::normalize::normalize_with_depth_to::<rustc_middle[4aa8808438232afe]::ty::predicate::Clause>::{closure#0}
  24:     0x7f5ff7168c48 - <rustc_trait_selection[d03aaefc9e43bec8]::traits::engine::ObligationCtxt<rustc_trait_selection[d03aaefc9e43bec8]::traits::FulfillmentError>>::normalize::<rustc_middle[4aa8808438232afe]::ty::predicate::Clause>
  25:     0x7f5ff7168a49 - <rustc_hir_analysis[2ca7e8779feeb593]::check::wfcheck::WfCheckingCtxt>::normalize::<rustc_middle[4aa8808438232afe]::ty::predicate::Clause>
  26:     0x7f5ff6d9c065 - rustc_hir_analysis[2ca7e8779feeb593]::check::wfcheck::check_associated_item
  27:     0x7f5ff41321e4 - rustc_hir_analysis[2ca7e8779feeb593]::check::wfcheck::check_well_formed
  28:     0x7f5ff730902b - rustc_query_impl[7b31fe52c1943d23]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7b31fe52c1943d23]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>
  29:     0x7f5ff7308791 - rustc_query_system[af74fb06ba218297]::query::plumbing::try_execute_query::<rustc_query_impl[7b31fe52c1943d23]::DynamicConfig<rustc_query_system[af74fb06ba218297]::query::caches::VecCache<rustc_span[b73f4c38f6b79966]::def_id::LocalDefId, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7b31fe52c1943d23]::plumbing::QueryCtxt, false>
  30:     0x7f5ff7308410 - rustc_query_impl[7b31fe52c1943d23]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  31:     0x7f5ff73090bd - rustc_middle[4aa8808438232afe]::query::plumbing::query_ensure_error_guaranteed::<rustc_query_system[af74fb06ba218297]::query::caches::VecCache<rustc_span[b73f4c38f6b79966]::def_id::LocalDefId, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>, ()>
  32:     0x7f5ff7309634 - rustc_hir_analysis[2ca7e8779feeb593]::check::wfcheck::check_mod_type_wf
  33:     0x7f5ff73090e5 - rustc_query_impl[7b31fe52c1943d23]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7b31fe52c1943d23]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>
  34:     0x7f5ff730297b - rustc_query_system[af74fb06ba218297]::query::plumbing::try_execute_query::<rustc_query_impl[7b31fe52c1943d23]::DynamicConfig<rustc_query_system[af74fb06ba218297]::query::caches::DefaultCache<rustc_span[b73f4c38f6b79966]::def_id::LocalModDefId, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7b31fe52c1943d23]::plumbing::QueryCtxt, false>
  35:     0x7f5ff730272d - rustc_query_impl[7b31fe52c1943d23]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7f5ff6c1fd3b - rustc_hir_analysis[2ca7e8779feeb593]::check_crate
  37:     0x7f5ff6c1ca97 - rustc_interface[a7beddea6b2aa80d]::passes::run_required_analyses
  38:     0x7f5ff75f6f9e - rustc_interface[a7beddea6b2aa80d]::passes::analysis
  39:     0x7f5ff75f6f71 - rustc_query_impl[7b31fe52c1943d23]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7b31fe52c1943d23]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>
  40:     0x7f5ff76d31ee - rustc_query_system[af74fb06ba218297]::query::plumbing::try_execute_query::<rustc_query_impl[7b31fe52c1943d23]::DynamicConfig<rustc_query_system[af74fb06ba218297]::query::caches::SingleCache<rustc_middle[4aa8808438232afe]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7b31fe52c1943d23]::plumbing::QueryCtxt, false>
  41:     0x7f5ff76d2ecf - rustc_query_impl[7b31fe52c1943d23]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  42:     0x7f5ff752151e - rustc_interface[a7beddea6b2aa80d]::interface::run_compiler::<core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>, rustc_driver_impl[83de0f0d7a3bbaf8]::run_compiler::{closure#0}>::{closure#1}
  43:     0x7f5ff75d9150 - std[f6927571c1bb7893]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[a7beddea6b2aa80d]::util::run_in_thread_with_globals<rustc_interface[a7beddea6b2aa80d]::util::run_in_thread_pool_with_globals<rustc_interface[a7beddea6b2aa80d]::interface::run_compiler<core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>, rustc_driver_impl[83de0f0d7a3bbaf8]::run_compiler::{closure#0}>::{closure#1}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>::{closure#0}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>
  44:     0x7f5ff75d9817 - <<std[f6927571c1bb7893]::thread::Builder>::spawn_unchecked_<rustc_interface[a7beddea6b2aa80d]::util::run_in_thread_with_globals<rustc_interface[a7beddea6b2aa80d]::util::run_in_thread_pool_with_globals<rustc_interface[a7beddea6b2aa80d]::interface::run_compiler<core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>, rustc_driver_impl[83de0f0d7a3bbaf8]::run_compiler::{closure#0}>::{closure#1}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>::{closure#0}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e1b34d82e9cff2ed]::result::Result<(), rustc_span[b73f4c38f6b79966]::ErrorGuaranteed>>::{closure#1} as core[e1b34d82e9cff2ed]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  45:     0x7f5ff75da701 - std::sys::pal::unix::thread::Thread::new::thread_start::h4498a525a6fc6a9e
  46:     0x7f5ff8cc639d - <unknown>
  47:     0x7f5ff8d4b49c - <unknown>
  48:                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 make sure that you have updated to the latest nightly

note: please attach the file at `/tmp/im/rustc-ice-2024-10-05T08_59_17-989073.txt` to your bug report

query stack during panic:
#0 [check_well_formed] checking that `IntFactory::stream` is well-formed
#1 [check_mod_type_wf] checking that types are well-formed in top-level module
end of query stack
error: aborting due to 3 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0601`.