Skip to content

ICE: assertion failed: !eps.is_empty() #137895

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
matthiaskrgr opened this issue Mar 2, 2025 · 2 comments · Fixed by #138670
Closed

ICE: assertion failed: !eps.is_empty() #137895

matthiaskrgr opened this issue Mar 2, 2025 · 2 comments · Fixed by #138670
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

snippet:

trait A {
    fn b() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
}

impl A<()> for dyn A {}

Version information

rustc 1.87.0-nightly (7c4a55c2a 2025-03-02)
binary: rustc
commit-hash: 7c4a55c2ac6497629c273ccd00e185583542f0d2
commit-date: 2025-03-02
host: x86_64-unknown-linux-gnu
release: 1.87.0-nightly
LLVM version: 20.1.0

Possibly related line of code:

}
pub fn mk_poly_existential_predicates(
self,
eps: &[PolyExistentialPredicate<'tcx>],
) -> &'tcx List<PolyExistentialPredicate<'tcx>> {
assert!(!eps.is_empty());
assert!(
eps.array_windows()
.all(|[a, b]| a.skip_binder().stable_cmp(self, &b.skip_binder())
!= Ordering::Greater)
);
self.intern_poly_existential_predicates(eps)

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error[E0261]: use of undeclared lifetime name `'a`
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:2:33
  |
2 |     fn b() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
  |                                 ^^ undeclared lifetime
  |
  = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
help: consider making the bound lifetime-generic with a new `'a` lifetime
  |
2 |     fn b() -> impl for<'a> IntoIterator<'a, Out = impl ?Sized + 'a>;
  |                    +++++++
help: consider introducing lifetime `'a` here
  |
2 |     fn b<'a>() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
  |         ++++
help: consider introducing lifetime `'a` here
  |
1 | trait A<'a> {
  |        ++++

error[E0261]: use of undeclared lifetime name `'a`
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:2:57
  |
2 |     fn b() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
  |                                                         ^^ undeclared lifetime
  |
help: consider making the bound lifetime-generic with a new `'a` lifetime
  |
2 |     fn b() -> impl for<'a> IntoIterator<'a, Out = impl ?Sized + 'a>;
  |                    +++++++
help: consider introducing lifetime `'a` here
  |
2 |     fn b<'a>() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
  |         ++++
help: consider introducing lifetime `'a` here
  |
1 | trait A<'a> {
  |        ++++

error[E0601]: `main` function not found in crate `mvce`
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:5:24
  |
5 | impl A<()> for dyn A {}
  |                        ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs`

error[E0107]: trait takes 0 generic arguments but 1 generic argument was supplied
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:5:6
  |
5 | impl A<()> for dyn A {}
  |      ^---- help: remove the unnecessary generics
  |      |
  |      expected 0 generic arguments
  |
note: trait defined here, with 0 generic parameters
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:1:7
  |
1 | trait A {
  |       ^

error[E0107]: trait takes 0 lifetime arguments but 1 lifetime argument was supplied
   --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:2:20
    |
2   |     fn b() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
    |                    ^^^^^^^^^^^^---------------------------- help: remove the unnecessary generics
    |                    |
    |                    expected 0 lifetime arguments
    |
note: trait defined here, with 0 lifetime parameters
   --> /home/matthias/.rustup/toolchains/master/lib/rustlib/src/rust/library/core/src/iter/traits/collect.rs:285:11
    |
285 | pub trait IntoIterator {
    |           ^^^^^^^^^^^^

error[E0220]: associated type `Out` not found for `IntoIterator`
 --> /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:2:37
  |
2 |     fn b() -> impl IntoIterator<'a, Out = impl ?Sized + 'a>;
  |                                     ^^^ associated type `Out` not found


thread 'rustc' panicked at compiler/rustc_middle/src/ty/context.rs:2842:9:
assertion failed: !eps.is_empty()
stack backtrace:
   0:     0x7a4a4b1bef14 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hc495f1899fa849d6
   1:     0x7a4a4ba057e2 - core::fmt::write::h39ac2b6780eacb0b
   2:     0x7a4a4cde5291 - std::io::Write::write_fmt::hce3ca50e4f9c3d70
   3:     0x7a4a4b1bed72 - std::sys::backtrace::BacktraceLock::print::h6721b52240ac06b8
   4:     0x7a4a4b1c1652 - std::panicking::default_hook::{{closure}}::h7fd0541ed74fb3ce
   5:     0x7a4a4b1c1244 - std::panicking::default_hook::hccc7d640d5ba2811
   6:     0x7a4a4a318a87 - std[673d9073d68e8c5f]::panicking::update_hook::<alloc[956ce29f8aa768f9]::boxed::Box<rustc_driver_impl[6af4072765422930]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7a4a4b1c1ec3 - std::panicking::rust_panic_with_hook::h0da458b51069d3a7
   8:     0x7a4a4b1c1b86 - std::panicking::begin_panic_handler::{{closure}}::ha16ec4ccc9cec913
   9:     0x7a4a4b1bf3d9 - std::sys::backtrace::__rust_end_short_backtrace::h2aacb06ecfcbe368
  10:     0x7a4a4b1c187d - rust_begin_unwind
  11:     0x7a4a47e5b930 - core::panicking::panic_fmt::h41765f7bbf5784a9
  12:     0x7a4a488bc44c - core::panicking::panic::h9beefec10d0ae431
  13:     0x7a4a4bb6f565 - <rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>::mk_poly_existential_predicates
  14:     0x7a4a4a92d692 - <rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>::item_bounds_to_existential_predicates
  15:     0x7a4a4bdd09c1 - rustc_trait_selection[7cd3b6c2e2dd783b]::traits::project::opt_normalize_projection_term
  16:     0x7a4a4bdbfd4c - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[7c82fdb37256d6e0]::fold::TypeFolder<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>::fold_ty
  17:     0x7a4a4bdb2e00 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[7c82fdb37256d6e0]::fold::FallibleTypeFolder<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>::try_fold_binder::<rustc_type_ir[7c82fdb37256d6e0]::predicate_kind::PredicateKind<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>
  18:     0x7a4a4bb865f5 - rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::normalize_with_depth_to::<rustc_middle[149f66fe1de159a6]::ty::predicate::Clause>
  19:     0x7a4a4bc0cdf2 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::confirm_candidate
  20:     0x7a4a4c9df13e - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}::{closure#0}
  21:     0x7a4a4bbd0714 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::poly_select::{closure#0}
  22:     0x7a4a4bdc1f95 - rustc_trait_selection[7cd3b6c2e2dd783b]::traits::project::opt_normalize_projection_term
  23:     0x7a4a4bdbfd4c - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[7c82fdb37256d6e0]::fold::TypeFolder<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>::fold_ty
  24:     0x7a4a4bdb2d7e - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::AssocTypeNormalizer as rustc_type_ir[7c82fdb37256d6e0]::fold::FallibleTypeFolder<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>::try_fold_binder::<rustc_type_ir[7c82fdb37256d6e0]::predicate_kind::PredicateKind<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt>>
  25:     0x7a4a4bb865f5 - rustc_trait_selection[7cd3b6c2e2dd783b]::traits::normalize::normalize_with_depth_to::<rustc_middle[149f66fe1de159a6]::ty::predicate::Clause>
  26:     0x7a4a4bc0cdf2 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::confirm_candidate
  27:     0x7a4a4bb7777e - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::evaluate_candidate::{closure#0}::{closure#0}
  28:     0x7a4a4bb84475 - <alloc[956ce29f8aa768f9]::vec::into_iter::IntoIter<rustc_middle[149f66fe1de159a6]::traits::select::SelectionCandidate> as core[fd72b707659d9093]::iter::traits::iterator::Iterator>::try_fold::<(), core[fd72b707659d9093]::iter::adapters::map::map_try_fold<rustc_middle[149f66fe1de159a6]::traits::select::SelectionCandidate, core[fd72b707659d9093]::result::Result<core[fd72b707659d9093]::option::Option<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>, rustc_middle[149f66fe1de159a6]::traits::SelectionError>, (), core[fd72b707659d9093]::ops::control_flow::ControlFlow<core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>>, <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}, core[fd72b707659d9093]::iter::adapters::map::map_try_fold<core[fd72b707659d9093]::result::Result<core[fd72b707659d9093]::option::Option<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>, rustc_middle[149f66fe1de159a6]::traits::SelectionError>, core[fd72b707659d9093]::option::Option<core[fd72b707659d9093]::result::Result<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate, rustc_middle[149f66fe1de159a6]::traits::SelectionError>>, (), core[fd72b707659d9093]::ops::control_flow::ControlFlow<core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>>, <core[fd72b707659d9093]::result::Result<core[fd72b707659d9093]::option::Option<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>, rustc_middle[149f66fe1de159a6]::traits::SelectionError>>::transpose, core[fd72b707659d9093]::iter::adapters::flatten::try_flatten_one<core[fd72b707659d9093]::option::Option<core[fd72b707659d9093]::result::Result<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate, rustc_middle[149f66fe1de159a6]::traits::SelectionError>>, (), core[fd72b707659d9093]::ops::control_flow::ControlFlow<core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>>, <core[fd72b707659d9093]::iter::adapters::GenericShunt<core[fd72b707659d9093]::iter::adapters::flatten::FlatMap<core[fd72b707659d9093]::iter::adapters::map::Map<alloc[956ce29f8aa768f9]::vec::into_iter::IntoIter<rustc_middle[149f66fe1de159a6]::traits::select::SelectionCandidate>, <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::candidate_from_obligation_no_cache::{closure#1}>, core[fd72b707659d9093]::option::Option<core[fd72b707659d9093]::result::Result<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate, rustc_middle[149f66fe1de159a6]::traits::SelectionError>>, <core[fd72b707659d9093]::result::Result<core[fd72b707659d9093]::option::Option<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>, rustc_middle[149f66fe1de159a6]::traits::SelectionError>>::transpose>, core[fd72b707659d9093]::result::Result<core[fd72b707659d9093]::convert::Infallible, rustc_middle[149f66fe1de159a6]::traits::SelectionError>> as core[fd72b707659d9093]::iter::traits::iterator::Iterator>::try_fold<(), core[fd72b707659d9093]::iter::traits::iterator::Iterator::try_for_each::call<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate, core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>, core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>::Break>::{closure#0}, core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}, core[fd72b707659d9093]::ops::control_flow::ControlFlow<core[fd72b707659d9093]::ops::control_flow::ControlFlow<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::EvaluatedCandidate>>>
  29:     0x7a4a4bb81eb6 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}
  30:     0x7a4a4bb795b0 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::evaluate_trait_predicate_recursively
  31:     0x7a4a4bb8b54a - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::select::SelectionContext>::evaluate_root_obligation
  32:     0x7a4a4bb89cfe - rustc_traits[7fff9634386093f8]::evaluate_obligation::evaluate_obligation
  33:     0x7a4a4bb897e9 - rustc_query_impl[ad7e806203de0335]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ad7e806203de0335]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 2usize]>>
  34:     0x7a4a4bb88c48 - rustc_query_system[30512ec7f96497de]::query::plumbing::try_execute_query::<rustc_query_impl[ad7e806203de0335]::DynamicConfig<rustc_query_system[30512ec7f96497de]::query::caches::DefaultCache<rustc_type_ir[7c82fdb37256d6e0]::canonical::CanonicalQueryInput<rustc_middle[149f66fe1de159a6]::ty::context::TyCtxt, rustc_middle[149f66fe1de159a6]::ty::ParamEnvAnd<rustc_middle[149f66fe1de159a6]::ty::predicate::Predicate>>, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[ad7e806203de0335]::plumbing::QueryCtxt, false>
  35:     0x7a4a4bb8885e - rustc_query_impl[ad7e806203de0335]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7a4a4c2dad51 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::fulfill::FulfillProcessor as rustc_data_structures[c5d5d3efdb2e4cc2]::obligation_forest::ObligationProcessor>::process_obligation
  37:     0x7a4a4ba074e9 - <rustc_data_structures[c5d5d3efdb2e4cc2]::obligation_forest::ObligationForest<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::fulfill::FulfillProcessor>
  38:     0x7a4a4bea0887 - <rustc_trait_selection[7cd3b6c2e2dd783b]::traits::fulfill::FulfillmentContext<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::FulfillmentError> as rustc_infer[eba90bd19780a5a9]::traits::engine::TraitEngine<rustc_trait_selection[7cd3b6c2e2dd783b]::traits::FulfillmentError>>::select_all_or_error
  39:     0x7a4a4c1fcec3 - rustc_hir_analysis[21d9bf831ff42857]::check::wfcheck::check_well_formed
  40:     0x7a4a4c1fb80d - rustc_query_impl[ad7e806203de0335]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ad7e806203de0335]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 1usize]>>
  41:     0x7a4a4c1fb2c4 - rustc_query_system[30512ec7f96497de]::query::plumbing::try_execute_query::<rustc_query_impl[ad7e806203de0335]::DynamicConfig<rustc_data_structures[c5d5d3efdb2e4cc2]::vec_cache::VecCache<rustc_span[8b0dd42cecff55ed]::def_id::LocalDefId, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[30512ec7f96497de]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[ad7e806203de0335]::plumbing::QueryCtxt, false>
  42:     0x7a4a4c1fad7f - rustc_query_impl[ad7e806203de0335]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  43:     0x7a4a4c1f859d - rustc_hir_analysis[21d9bf831ff42857]::check::wfcheck::check_mod_type_wf
  44:     0x7a4a4c1f839f - rustc_query_impl[ad7e806203de0335]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ad7e806203de0335]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 1usize]>>
  45:     0x7a4a4ca8b896 - rustc_query_system[30512ec7f96497de]::query::plumbing::try_execute_query::<rustc_query_impl[ad7e806203de0335]::DynamicConfig<rustc_query_system[30512ec7f96497de]::query::caches::DefaultCache<rustc_span[8b0dd42cecff55ed]::def_id::LocalModDefId, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[ad7e806203de0335]::plumbing::QueryCtxt, false>
  46:     0x7a4a4ca8b63f - rustc_query_impl[ad7e806203de0335]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
  47:     0x7a4a4bdf9f8f - rustc_hir_analysis[21d9bf831ff42857]::check_crate
  48:     0x7a4a4bdf3c9c - rustc_interface[d8c24ebf2384fa83]::passes::run_required_analyses
  49:     0x7a4a4c93efba - rustc_interface[d8c24ebf2384fa83]::passes::analysis
  50:     0x7a4a4c93ef99 - rustc_query_impl[ad7e806203de0335]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[ad7e806203de0335]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 0usize]>>
  51:     0x7a4a4caabf8b - rustc_query_system[30512ec7f96497de]::query::plumbing::try_execute_query::<rustc_query_impl[ad7e806203de0335]::DynamicConfig<rustc_query_system[30512ec7f96497de]::query::caches::SingleCache<rustc_middle[149f66fe1de159a6]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[ad7e806203de0335]::plumbing::QueryCtxt, false>
  52:     0x7a4a4caabc79 - rustc_query_impl[ad7e806203de0335]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  53:     0x7a4a4c972efd - rustc_interface[d8c24ebf2384fa83]::passes::create_and_enter_global_ctxt::<core[fd72b707659d9093]::option::Option<rustc_interface[d8c24ebf2384fa83]::queries::Linker>, rustc_driver_impl[6af4072765422930]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  54:     0x7a4a4cb11220 - rustc_interface[d8c24ebf2384fa83]::interface::run_compiler::<(), rustc_driver_impl[6af4072765422930]::run_compiler::{closure#0}>::{closure#1}
  55:     0x7a4a4c953cc8 - std[673d9073d68e8c5f]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d8c24ebf2384fa83]::util::run_in_thread_with_globals<rustc_interface[d8c24ebf2384fa83]::util::run_in_thread_pool_with_globals<rustc_interface[d8c24ebf2384fa83]::interface::run_compiler<(), rustc_driver_impl[6af4072765422930]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  56:     0x7a4a4c9545b4 - <<std[673d9073d68e8c5f]::thread::Builder>::spawn_unchecked_<rustc_interface[d8c24ebf2384fa83]::util::run_in_thread_with_globals<rustc_interface[d8c24ebf2384fa83]::util::run_in_thread_pool_with_globals<rustc_interface[d8c24ebf2384fa83]::interface::run_compiler<(), rustc_driver_impl[6af4072765422930]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[fd72b707659d9093]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  57:     0x7a4a4c9559b7 - std::sys::pal::unix::thread::Thread::new::thread_start::hb86ea38ca4860a5f
  58:     0x7a4a46aa370a - <unknown>
  59:     0x7a4a46b27aac - <unknown>
  60:                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: rustc 1.87.0-nightly (7c4a55c2a 2025-03-02) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `(dyn A + 'a): A`
#1 [check_well_formed] checking that `<impl at /tmp/icemaker_global_tempdir.5tICGURnV2T4/rustc_testrunner_tmpdir_reporting.9pGZJg4ZyXaF/mvce.rs:5:1: 5:21>` is well-formed
#2 [check_mod_type_wf] checking that types are well-formed in top-level module
#3 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 6 previous errors

Some errors have detailed explanations: E0107, E0220, E0261, E0601.
For more information about an error, try `rustc --explain E0107`.

@matthiaskrgr matthiaskrgr added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 2, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 2, 2025
@matthiaskrgr
Copy link
Member Author

seems to bisect to #133122

@cyrgani
Copy link
Contributor

cyrgani commented Mar 2, 2025

simpler:

trait A {
    fn b() -> impl ?Sized + 'a;
}

impl A for dyn A {}

@matthiaskrgr matthiaskrgr added the S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. label Mar 9, 2025
@bors bors closed this as completed in 351ba39 Mar 19, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Mar 19, 2025
Rollup merge of rust-lang#138670 - compiler-errors:remove-afidt, r=oli-obk

Remove existing AFIDT implementation

This experiment will need to be reworked differently; I don't think we'll be going with the `dyn* Future` approach that is currently implemented.

r? oli-obk

Fixes rust-lang#136286
Fixes rust-lang#137706
Fixes rust-lang#137895

Tracking:
* rust-lang#133119
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Mar 26, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants