Skip to content

SignatureMismatch ICE #146965

@benruijl

Description

@benruijl

Code

The crate symbolica version 0.18.0 (https://crates.io/crates/symbolica) does not compile on stable Rust 1.90 in release mode.

cargo build # works
cargo build --release # ICE

I will try to create a minimal example.

Meta

rustc --version --verbose:

rustc 1.90.0 (1159e78c4 2025-09-14)
binary: rustc
commit-hash: 1159e78c4747b02ef996e55082b704c09b970588
commit-date: 2025-09-14
host: x86_64-unknown-linux-gnu
release: 1.90.0
LLVM version: 20.1.8

Error output

error: internal compiler error: compiler/rustc_traits/src/codegen.rs:45:13: Encountered error `SignatureMismatch(SignatureMismatchData { found_trait_ref: <{closure@src/poly/gcd.rs:3594:29: 3594:32} as std::ops::Fn<(&domains::algebraic_number::AlgebraicNumber<domains::finite_field::FiniteField<UField>>,)>>, expected_trait_ref: <{closure@src/poly/gcd.rs:3594:29: 3594:32} as std::ops::Fn<(&<domains::algebraic_number::AlgebraicExtension<domains::finite_field::FiniteField<UField>> as domains::Ring>::Element,)>>, terr: Sorts(ExpectedFound { expected: Alias(Projection, AliasTy { args: [domains::algebraic_number::AlgebraicExtension<domains::finite_field::FiniteField<UField/#0>>], def_id: DefId(0:4283 ~ symbolica[e0c6]::domains::Ring::Element), .. }), found: domains::algebraic_number::AlgebraicNumber<domains::finite_field::FiniteField<UField/#0>> }) })` selecting `<{closure@src/poly/gcd.rs:3594:29: 3594:32} as std::ops::Fn<(&<domains::algebraic_number::AlgebraicExtension<domains::finite_field::FiniteField<UField>> as domains::Ring>::Element,)>>` during codegen
Backtrace

thread 'rustc' panicked at compiler/rustc_traits/src/codegen.rs:45:13:
Box<dyn Any>
stack backtrace:
   0:     0x7f63ca800f83 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hdcfcb6d4c8489523
   1:     0x7f63cb002d77 - core::fmt::write::h8a494366950f23bb
   2:     0x7f63cc3d14d1 - std::io::Write::write_fmt::h6556609fca33d0b1
   3:     0x7f63ca800de2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc
   4:     0x7f63ca804887 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10
   5:     0x7f63ca8043eb - std::panicking::default_hook::h2c66fc99e962531d
   6:     0x7f63c98627e3 - std[9479b33d5e275715]::panicking::update_hook::<alloc[252dd2b3abdfe4a]::boxed::Box<rustc_driver_impl[773a1ede480c2143]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7f63ca8050ce - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d
   8:     0x7f63c989c2f1 - std[9479b33d5e275715]::panicking::begin_panic::<rustc_errors[93b6cceb9b5fedc8]::ExplicitBug>::{closure#0}
   9:     0x7f63c9891286 - std[9479b33d5e275715]::sys::backtrace::__rust_end_short_backtrace::<std[9479b33d5e275715]::panicking::begin_panic<rustc_errors[93b6cceb9b5fedc8]::ExplicitBug>::{closure#0}, !>
  10:     0x7f63c9890f17 - std[9479b33d5e275715]::panicking::begin_panic::<rustc_errors[93b6cceb9b5fedc8]::ExplicitBug>
  11:     0x7f63c98a5f91 - <rustc_errors[93b6cceb9b5fedc8]::diagnostic::BugAbort as rustc_errors[93b6cceb9b5fedc8]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  12:     0x7f63c9eb5dda - rustc_middle[581473cc959b0df7]::util::bug::opt_span_bug_fmt::<rustc_span[dd7040bcb6abea74]::span_encoding::Span>::{closure#0}
  13:     0x7f63c9e9560a - rustc_middle[581473cc959b0df7]::ty::context::tls::with_opt::<rustc_middle[581473cc959b0df7]::util::bug::opt_span_bug_fmt<rustc_span[dd7040bcb6abea74]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  14:     0x7f63c9e9547b - rustc_middle[581473cc959b0df7]::ty::context::tls::with_context_opt::<rustc_middle[581473cc959b0df7]::ty::context::tls::with_opt<rustc_middle[581473cc959b0df7]::util::bug::opt_span_bug_fmt<rustc_span[dd7040bcb6abea74]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  15:     0x7f63c6ed1fb0 - rustc_middle[581473cc959b0df7]::util::bug::bug_fmt
  16:     0x7f63cbd5cad7 - rustc_traits[bfbeae1a3e4b8cfd]::codegen::codegen_select_candidate
  17:     0x7f63cbd5a6b3 - rustc_query_impl[4e8a788e737bdb2b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[4e8a788e737bdb2b]::query_impl::codegen_select_candidate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 16usize]>>
  18:     0x7f63cbd59734 - rustc_query_system[5711f675e4c02644]::query::plumbing::try_execute_query::<rustc_query_impl[4e8a788e737bdb2b]::DynamicConfig<rustc_query_system[5711f675e4c02644]::query::caches::DefaultCache<rustc_middle[581473cc959b0df7]::ty::PseudoCanonicalInput<rustc_type_ir[e11decee25f0b077]::predicate::TraitRef<rustc_middle[581473cc959b0df7]::ty::context::TyCtxt>>, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[4e8a788e737bdb2b]::plumbing::QueryCtxt, false>
  19:     0x7f63cbd593a3 - rustc_query_impl[4e8a788e737bdb2b]::query_impl::codegen_select_candidate::get_query_non_incr::__rust_end_short_backtrace
  20:     0x7f63cb74ac96 - rustc_ty_utils[327c3462a5d70139]::instance::resolve_instance_raw
  21:     0x7f63cb749700 - rustc_query_impl[4e8a788e737bdb2b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[4e8a788e737bdb2b]::query_impl::resolve_instance_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 32usize]>>
  22:     0x7f63cb748826 - rustc_query_system[5711f675e4c02644]::query::plumbing::try_execute_query::<rustc_query_impl[4e8a788e737bdb2b]::DynamicConfig<rustc_query_system[5711f675e4c02644]::query::caches::DefaultCache<rustc_middle[581473cc959b0df7]::ty::PseudoCanonicalInput<(rustc_span[dd7040bcb6abea74]::def_id::DefId, &rustc_middle[581473cc959b0df7]::ty::list::RawList<(), rustc_middle[581473cc959b0df7]::ty::generic_args::GenericArg>)>, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 32usize]>>, false, false, false>, rustc_query_impl[4e8a788e737bdb2b]::plumbing::QueryCtxt, false>
  23:     0x7f63cb748469 - rustc_query_impl[4e8a788e737bdb2b]::query_impl::resolve_instance_raw::get_query_non_incr::__rust_end_short_backtrace
  24:     0x7f63cb73caa2 - <rustc_middle[581473cc959b0df7]::ty::instance::Instance>::try_resolve
  25:     0x7f63cc2109a6 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  26:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  27:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  28:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  29:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  30:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  31:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  32:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  33:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  34:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  35:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  36:     0x7f63cc2104f7 - rustc_mir_transform[134cdb5752387f32]::inline::cycle::process::{closure#0}
  37:     0x7f63cc20f7ee - rustc_mir_transform[134cdb5752387f32]::inline::cycle::mir_callgraph_cyclic
  38:     0x7f63cc20f322 - rustc_query_impl[4e8a788e737bdb2b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[4e8a788e737bdb2b]::query_impl::mir_callgraph_cyclic::dynamic_query::{closure#2}::{closure#0}, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 8usize]>>
  39:     0x7f63cb1dd3ae - rustc_query_system[5711f675e4c02644]::query::plumbing::try_execute_query::<rustc_query_impl[4e8a788e737bdb2b]::DynamicConfig<rustc_data_structures[32e9e1243901af9b]::vec_cache::VecCache<rustc_span[dd7040bcb6abea74]::def_id::LocalDefId, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5711f675e4c02644]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[4e8a788e737bdb2b]::plumbing::QueryCtxt, false>
  40:     0x7f63cb727f13 - rustc_query_impl[4e8a788e737bdb2b]::query_impl::mir_callgraph_cyclic::get_query_non_incr::__rust_end_short_backtrace
  41:     0x7f63cb724f3a - rustc_mir_transform[134cdb5752387f32]::inline::process_blocks::<rustc_mir_transform[134cdb5752387f32]::inline::NormalInliner>
  42:     0x7f63cba8f9c0 - <rustc_mir_transform[134cdb5752387f32]::inline::Inline as rustc_mir_transform[134cdb5752387f32]::pass_manager::MirPass>::run_pass
  43:     0x7f63cb011587 - rustc_mir_transform[134cdb5752387f32]::run_optimization_passes
  44:     0x7f63cbc50080 - rustc_mir_transform[134cdb5752387f32]::optimized_mir
  45:     0x7f63cbc4fc61 - rustc_query_impl[4e8a788e737bdb2b]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[4e8a788e737bdb2b]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 8usize]>>
  46:     0x7f63cb018e25 - rustc_query_system[5711f675e4c02644]::query::plumbing::try_execute_query::<rustc_query_impl[4e8a788e737bdb2b]::DynamicConfig<rustc_query_system[5711f675e4c02644]::query::caches::DefIdCache<rustc_middle[581473cc959b0df7]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[4e8a788e737bdb2b]::plumbing::QueryCtxt, false>
  47:     0x7f63cb01831b - rustc_query_impl[4e8a788e737bdb2b]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
  48:     0x7f63cbb75c13 - <rustc_metadata[e50638f1c3dcb01e]::rmeta::encoder::EncodeContext>::encode_crate_root
  49:     0x7f63cc591a30 - <rustc_metadata[e50638f1c3dcb01e]::rmeta::encoder::encode_metadata::{closure#3} as core[42326c15e70145c1]::ops::function::FnOnce<(rustc_middle[581473cc959b0df7]::ty::context::TyCtxt, &std[9479b33d5e275715]::path::Path)>>::call_once
  50:     0x7f63cc58ec70 - rustc_metadata[e50638f1c3dcb01e]::rmeta::encoder::encode_metadata
  51:     0x7f63cbf47d97 - rustc_metadata[e50638f1c3dcb01e]::fs::encode_and_write_metadata
  52:     0x7f63cc41a2c3 - <rustc_interface[c9c4c8df4db17049]::queries::Linker>::codegen_and_build_linker
  53:     0x7f63cc417ebc - rustc_interface[c9c4c8df4db17049]::passes::create_and_enter_global_ctxt::<core[42326c15e70145c1]::option::Option<rustc_interface[c9c4c8df4db17049]::queries::Linker>, rustc_driver_impl[773a1ede480c2143]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  54:     0x7f63cc2c11f1 - rustc_interface[c9c4c8df4db17049]::interface::run_compiler::<(), rustc_driver_impl[773a1ede480c2143]::run_compiler::{closure#0}>::{closure#1}
  55:     0x7f63cc1751c1 - std[9479b33d5e275715]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[c9c4c8df4db17049]::util::run_in_thread_with_globals<rustc_interface[c9c4c8df4db17049]::util::run_in_thread_pool_with_globals<rustc_interface[c9c4c8df4db17049]::interface::run_compiler<(), rustc_driver_impl[773a1ede480c2143]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  56:     0x7f63cc174ea2 - <<std[9479b33d5e275715]::thread::Builder>::spawn_unchecked_<rustc_interface[c9c4c8df4db17049]::util::run_in_thread_with_globals<rustc_interface[c9c4c8df4db17049]::util::run_in_thread_pool_with_globals<rustc_interface[c9c4c8df4db17049]::interface::run_compiler<(), rustc_driver_impl[773a1ede480c2143]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[42326c15e70145c1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  57:     0x7f63cc17a7c5 - std::sys::pal::unix::thread::Thread::new::thread_start::hb6e99e73da4d28f8
  58:     0x7f63c58969cb - <unknown>
  59:     0x7f63c591aa0c - <unknown>
  60:                0x0 - <unknown>

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: rustc 1.90.0 (1159e78c4 2025-09-14) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 -C strip=debuginfo

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [codegen_select_candidate] computing candidate for `<{closure@src/poly/gcd.rs:3594:29: 3594:32} as core::ops::function::Fn<(&<domains::algebraic_number::AlgebraicExtension<domains::finite_field::FiniteField<UField>> as domains::Ring>::Element,)>>`
#1 [resolve_instance_raw] resolving instance `<{closure@src/poly/gcd.rs:3594:29: 3594:32} as core::ops::function::Fn<(&<domains::algebraic_number::AlgebraicExtension<domains::finite_field::FiniteField<UField>> as domains::Ring>::Element,)>>::call`
... and 2 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
warning: `symbolica` (lib) generated 1 warning (run `cargo fix --lib -p symbolica` to apply 1 suggestion)
error: could not compile `symbolica` (lib); 1 warning emitted

Caused by:
  process didn't exit successfully: `/home/ben/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name symbolica --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=80 --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C codegen-units=1 --cfg 'feature="default"' --cfg 'feature="tracing_only_warnings"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bincode", "default", "experimental_poly_gcd", "faster_alloc", "full_fn_cmp", "mathematica_api", "numpy", "pyo3", "pyo3-log", "pyo3-stub-gen", "python_abi3", "python_api", "python_export", "python_stubgen", "serde", "tikv-jemallocator", "tracing_only_warnings", "wolfram-library-link"))' -C metadata=96c1357d8f8088f0 -C extra-filename=-62104d022c125146 --out-dir /home/ben/Sync/Work/symbolica/target/release/deps -C strip=debuginfo -L dependency=/home/ben/Sync/Work/symbolica/target/release/deps --extern ahash=/home/ben/Sync/Work/symbolica/target/release/deps/libahash-7a28b9ed158fd863.rmeta --extern append_only_vec=/home/ben/Sync/Work/symbolica/target/release/deps/libappend_only_vec-99a1c43390cfa51d.rmeta --extern brotli=/home/ben/Sync/Work/symbolica/target/release/deps/libbrotli-b331a1cc75e182c6.rmeta --extern byteorder=/home/ben/Sync/Work/symbolica/target/release/deps/libbyteorder-119ee8ca0470af32.rmeta --extern bytes=/home/ben/Sync/Work/symbolica/target/release/deps/libbytes-d3dd46bcdca0d31b.rmeta --extern colored=/home/ben/Sync/Work/symbolica/target/release/deps/libcolored-594090e79fcf27f6.rmeta --extern dyn_clone=/home/ben/Sync/Work/symbolica/target/release/deps/libdyn_clone-328c01212571218b.rmeta --extern libloading=/home/ben/Sync/Work/symbolica/target/release/deps/liblibloading-71bafbff0017e61b.rmeta --extern log=/home/ben/Sync/Work/symbolica/target/release/deps/liblog-2bbc0195c15cb2c1.rmeta --extern once_cell=/home/ben/Sync/Work/symbolica/target/release/deps/libonce_cell-869860742b3ecb49.rmeta --extern rand=/home/ben/Sync/Work/symbolica/target/release/deps/librand-268f0610b8ef0ce7.rmeta --extern rand_xoshiro=/home/ben/Sync/Work/symbolica/target/release/deps/librand_xoshiro-cff907330d684396.rmeta --extern rayon=/home/ben/Sync/Work/symbolica/target/release/deps/librayon-828f49a5b01c9dd4.rmeta --extern rug=/home/ben/Sync/Work/symbolica/target/release/deps/librug-a6424c8c041e4fbe.rmeta --extern self_cell=/home/ben/Sync/Work/symbolica/target/release/deps/libself_cell-399a7f5929460284.rmeta --extern smallvec=/home/ben/Sync/Work/symbolica/target/release/deps/libsmallvec-3fbe0bd8f44cbfdd.rmeta --extern smartstring=/home/ben/Sync/Work/symbolica/target/release/deps/libsmartstring-d37711d81c03e4ec.rmeta --extern tinyjson=/home/ben/Sync/Work/symbolica/target/release/deps/libtinyjson-b436034f636b2f36.rmeta --extern tracing=/home/ben/Sync/Work/symbolica/target/release/deps/libtracing-35e9ac652d116700.rmeta --extern wide=/home/ben/Sync/Work/symbolica/target/release/deps/libwide-f8d3161bff5ff866.rmeta -L native=/home/ben/Sync/Work/symbolica/target/release/build/gmp-mpfr-sys-0c198db2c79fef3a/out/lib` (exit status: 101)

Metadata

Metadata

Assignees

Labels

A-associated-itemsArea: Associated items (types, constants & functions)A-mir-optArea: MIR optimizationsA-mir-opt-inliningArea: MIR inliningA-trait-systemArea: Trait systemC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️P-highHigh priorityS-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.fixed-by-next-solverFixed by the next-generation trait solver, `-Znext-solver`.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions