Open
Description
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.
Metadata
Metadata
Assignees
Labels
Category: This is a bug.Call for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example`#![feature(associated_const_equality)]``#![feature(generic_const_exprs)]`Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Status: A bisection has been found for this issueRelevant to the compiler team, which will review and decide on the PR/issue.This issue requires the use of incomplete features.This issue requires a nightly compiler in some way.