Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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