Skip to content

ICE+errors: associated_const_equality: normalize_erasing_regions.rs: Failed to normalize Alias(Projection, _) #141489

Description

@sigurd4

This is a regression that happened after updating the rust nightly toolchain today to version 3e674b0 2025-05-23. Suddenly, the compiler is not able to reason with associated const equality at all, and i get a rust-ICE that fails checking if an associated type is well formed.

Code

real_time_fir_iir_filters as of commit 687912d: sigurd4/real_time_fir_iir_filters@687912d

Meta

rustc --version --verbose:

rustc 1.89.0-nightly (3e674b06b 2025-05-23)
binary: rustc
commit-hash: 3e674b06b5c74adea662bd0b0b06450757994b16
commit-date: 2025-05-23
host: x86_64-unknown-linux-gnu
release: 1.89.0-nightly
LLVM version: 20.1.5

Error output

thread 'rustc' panicked at compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:171:13:
Box<dyn Any>
stack backtrace:
   0:     0x705a98ad9ee5 - std::backtrace::Backtrace::create::hfa425f8c6118c291
   1:     0x705a96f58655 - std::backtrace::Backtrace::force_capture::hc89ba712c3edf9d4
   2:     0x705a95f9b841 - std[dddea0bc0c38a8db]::panicking::update_hook::<alloc[ad07e7cbb7f1de4e]::boxed::Box<rustc_driver_impl[40f87d5870cfacca]::install_ice_hook::{closure#1}>>::{closure#0}
   3:     0x705a96f72583 - std::panicking::rust_panic_with_hook::hedd3f60f85824998
   4:     0x705a95fd6f01 - std[dddea0bc0c38a8db]::panicking::begin_panic::<rustc_errors[ddb65c6d6f619c9c]::ExplicitBug>::{closure#0}
   5:     0x705a95fcaf36 - std[dddea0bc0c38a8db]::sys::backtrace::__rust_end_short_backtrace::<std[dddea0bc0c38a8db]::panicking::begin_panic<rustc_errors[ddb65c6d6f619c9c]::ExplicitBug>::{closure#0}, !>
   6:     0x705a95fcadbb - std[dddea0bc0c38a8db]::panicking::begin_panic::<rustc_errors[ddb65c6d6f619c9c]::ExplicitBug>
   7:     0x705a95fe1551 - <rustc_errors[ddb65c6d6f619c9c]::diagnostic::BugAbort as rustc_errors[ddb65c6d6f619c9c]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
   8:     0x705a9664be9a - rustc_middle[39ac76d544e79577]::util::bug::opt_span_bug_fmt::<rustc_span[c5073483e6fe6d4e]::span_encoding::Span>::{closure#0}
   9:     0x705a9662627a - rustc_middle[39ac76d544e79577]::ty::context::tls::with_opt::<rustc_middle[39ac76d544e79577]::util::bug::opt_span_bug_fmt<rustc_span[c5073483e6fe6d4e]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  10:     0x705a966260eb - rustc_middle[39ac76d544e79577]::ty::context::tls::with_context_opt::<rustc_middle[39ac76d544e79577]::ty::context::tls::with_opt<rustc_middle[39ac76d544e79577]::util::bug::opt_span_bug_fmt<rustc_span[c5073483e6fe6d4e]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  11:     0x705a9388aa70 - rustc_middle[39ac76d544e79577]::util::bug::bug_fmt
  12:     0x705a97e56e5a - <rustc_middle[39ac76d544e79577]::ty::normalize_erasing_regions::NormalizeAfterErasingRegionsFolder as rustc_type_ir[ad99d0ade262f0a7]::fold::TypeFolder<rustc_middle[39ac76d544e79577]::ty::context::TyCtxt>>::fold_ty
  13:     0x705a97ebc030 - rustc_ty_utils[8532ffd2d527787a]::instance::resolve_instance_raw
  14:     0x705a97ebb472 - rustc_query_impl[31296628a992b875]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[31296628a992b875]::query_impl::resolve_instance_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 32usize]>>
  15:     0x705a97ea566a - rustc_query_system[71c12886ffe7ba46]::query::plumbing::try_execute_query::<rustc_query_impl[31296628a992b875]::DynamicConfig<rustc_query_system[71c12886ffe7ba46]::query::caches::DefaultCache<rustc_middle[39ac76d544e79577]::ty::PseudoCanonicalInput<(rustc_span[c5073483e6fe6d4e]::def_id::DefId, &rustc_middle[39ac76d544e79577]::ty::list::RawList<(), rustc_middle[39ac76d544e79577]::ty::generic_args::GenericArg>)>, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 32usize]>>, false, false, false>, rustc_query_impl[31296628a992b875]::plumbing::QueryCtxt, true>
  16:     0x705a97ea4edb - rustc_query_impl[31296628a992b875]::query_impl::resolve_instance_raw::get_query_incr::__rust_end_short_backtrace
  17:     0x705a97681e64 - <rustc_middle[39ac76d544e79577]::ty::instance::Instance>::try_resolve
  18:     0x705a981c0c98 - <rustc_middle[39ac76d544e79577]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
  19:     0x705a981c2301 - rustc_trait_selection[b780273fca010d7d]::traits::try_evaluate_const
  20:     0x705a97716983 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicate_recursively
  21:     0x705a977159df - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicates_recursively::<thin_vec[6b3c3df00a28182b]::ThinVec<rustc_infer[b943a2e86216d821]::traits::Obligation<rustc_middle[39ac76d544e79577]::ty::predicate::Predicate>>>
  22:     0x705a97716020 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicate_recursively
  23:     0x705a977159df - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicates_recursively::<thin_vec[6b3c3df00a28182b]::ThinVec<rustc_infer[b943a2e86216d821]::traits::Obligation<rustc_middle[39ac76d544e79577]::ty::predicate::Predicate>>>
  24:     0x705a97716783 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicate_recursively
  25:     0x705a977159df - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicates_recursively::<thin_vec[6b3c3df00a28182b]::ThinVec<rustc_infer[b943a2e86216d821]::traits::Obligation<rustc_middle[39ac76d544e79577]::ty::predicate::Predicate>>>
  26:     0x705a97716020 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicate_recursively
  27:     0x705a977159df - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_predicates_recursively::<thin_vec[6b3c3df00a28182b]::ThinVec<rustc_infer[b943a2e86216d821]::traits::Obligation<rustc_middle[39ac76d544e79577]::ty::predicate::Predicate>>>
  28:     0x705a97718a74 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::evaluate_candidate::{closure#0}::{closure#0}
  29:     0x705a984ea6e1 - <rustc_trait_selection[b780273fca010d7d]::traits::select::SelectionContext>::candidate_from_obligation::{closure#0}::{closure#0}
  30:     0x705a97fc9474 - <rustc_trait_selection[b780273fca010d7d]::traits::fulfill::FulfillProcessor as rustc_data_structures[7330a1b528a7fb9e]::obligation_forest::ObligationProcessor>::process_obligation
  31:     0x705a97606fd5 - <rustc_data_structures[7330a1b528a7fb9e]::obligation_forest::ObligationForest<rustc_trait_selection[b780273fca010d7d]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[b780273fca010d7d]::traits::fulfill::FulfillProcessor>
  32:     0x705a97ce79ab - <rustc_trait_selection[b780273fca010d7d]::traits::fulfill::FulfillmentContext<rustc_trait_selection[b780273fca010d7d]::traits::FulfillmentError> as rustc_infer[b943a2e86216d821]::traits::engine::TraitEngine<rustc_trait_selection[b780273fca010d7d]::traits::FulfillmentError>>::select_all_or_error
  33:     0x705a97f15102 - rustc_hir_analysis[331e481bef3bedb8]::check::wfcheck::enter_wf_checking_ctxt::<rustc_hir_analysis[331e481bef3bedb8]::check::wfcheck::check_associated_item::{closure#0}>
  34:     0x705a97efad84 - rustc_hir_analysis[331e481bef3bedb8]::check::wfcheck::check_well_formed
  35:     0x705a97ef874b - rustc_query_impl[31296628a992b875]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[31296628a992b875]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 1usize]>>
  36:     0x705a9797756d - rustc_query_system[71c12886ffe7ba46]::query::plumbing::try_execute_query::<rustc_query_impl[31296628a992b875]::DynamicConfig<rustc_data_structures[7330a1b528a7fb9e]::vec_cache::VecCache<rustc_span[c5073483e6fe6d4e]::def_id::LocalDefId, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[71c12886ffe7ba46]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[31296628a992b875]::plumbing::QueryCtxt, true>
  37:     0x705a97976cfa - rustc_query_impl[31296628a992b875]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
  38:     0x705a97ef53c2 - rustc_hir_analysis[331e481bef3bedb8]::check::wfcheck::check_mod_type_wf
  39:     0x705a97ef4e5f - rustc_query_impl[31296628a992b875]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[31296628a992b875]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 1usize]>>
  40:     0x705a986802af - rustc_query_system[71c12886ffe7ba46]::query::plumbing::try_execute_query::<rustc_query_impl[31296628a992b875]::DynamicConfig<rustc_query_system[71c12886ffe7ba46]::query::caches::DefaultCache<rustc_span[c5073483e6fe6d4e]::def_id::LocalModDefId, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[31296628a992b875]::plumbing::QueryCtxt, true>
  41:     0x705a98680d83 - rustc_query_impl[31296628a992b875]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
  42:     0x705a97809877 - rustc_hir_analysis[331e481bef3bedb8]::check_crate
  43:     0x705a9780ad45 - rustc_interface[3a0a2c43e50c5194]::passes::run_required_analyses
  44:     0x705a9852c19e - rustc_interface[3a0a2c43e50c5194]::passes::analysis
  45:     0x705a9852c175 - rustc_query_impl[31296628a992b875]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[31296628a992b875]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 0usize]>>
  46:     0x705a988cf6c4 - rustc_query_system[71c12886ffe7ba46]::query::plumbing::try_execute_query::<rustc_query_impl[31296628a992b875]::DynamicConfig<rustc_query_system[71c12886ffe7ba46]::query::caches::SingleCache<rustc_middle[39ac76d544e79577]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[31296628a992b875]::plumbing::QueryCtxt, true>
  47:     0x705a988cefe8 - rustc_query_impl[31296628a992b875]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  48:     0x705a9872ae87 - rustc_interface[3a0a2c43e50c5194]::passes::create_and_enter_global_ctxt::<core[a1eebbb7364c739]::option::Option<rustc_interface[3a0a2c43e50c5194]::queries::Linker>, rustc_driver_impl[40f87d5870cfacca]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  49:     0x705a9871c60f - rustc_interface[3a0a2c43e50c5194]::interface::run_compiler::<(), rustc_driver_impl[40f87d5870cfacca]::run_compiler::{closure#0}>::{closure#1}
  50:     0x705a986c5706 - std[dddea0bc0c38a8db]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[3a0a2c43e50c5194]::util::run_in_thread_with_globals<rustc_interface[3a0a2c43e50c5194]::util::run_in_thread_pool_with_globals<rustc_interface[3a0a2c43e50c5194]::interface::run_compiler<(), rustc_driver_impl[40f87d5870cfacca]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  51:     0x705a986c53ab - <<std[dddea0bc0c38a8db]::thread::Builder>::spawn_unchecked_<rustc_interface[3a0a2c43e50c5194]::util::run_in_thread_with_globals<rustc_interface[3a0a2c43e50c5194]::util::run_in_thread_pool_with_globals<rustc_interface[3a0a2c43e50c5194]::interface::run_compiler<(), rustc_driver_impl[40f87d5870cfacca]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[a1eebbb7364c739]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  52:     0x705a986c66fd - std::sys::pal::unix::thread::Thread::new::thread_start::h337190b46df16ff4
  53:     0x705a924a57eb - <unknown>
  54:     0x705a9252918c - <unknown>
  55:                0x0 - <unknown>


rustc version: 1.89.0-nightly (3e674b06b 2025-05-23)
platform: x86_64-unknown-linux-gnu

query stack during panic:
#0 [resolve_instance_raw] resolving instance `<param::val::omega::Omega<f32> as param::base::chebyshev::ChebyshevFilterParamBase<<f32 as param::conf::elliptic::EllipticFilterConf>::Conf>>::TYPE`
#1 [check_well_formed] checking that `param::conf::elliptic::EllipticFilterConf::Conf` is well-formed
#2 [check_mod_type_wf] checking that types are well-formed in module `param::conf::elliptic`
#3 [analysis] running analysis passes on this crate
end of query stack
Backtrace

I can't compile, so i can't see any backtrace for my code.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleF-associated_const_equality`#![feature(associated_const_equality)]`F-generic_const_exprs`#![feature(generic_const_exprs)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-lowLow priorityS-has-bisectionStatus: A bisection has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions