rust-lang / rust-lang/rust

[ICE]: encountered incremental compilation error with explicit_supertraits_containing_assoc_item

Open
#158,805 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug I-ICE S-needs-info T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

rustc-ice-2026-07-05T08_51_53-57170.txt

rustc 1.98.0-nightly (c1b22f44c 2026-06-17) running on aarch64-apple-darwin

rustc-ice-2026-07-05T09_10_24-76781.txt

Code

It is crashing in the middle of a refactoring between
https://github.com/ruma/ruma/pull/2230/changes/ecc2c1c508ab0a64a121e7bbcf3c2e72afbd166b

and

ice_diff.patch

<code>
Meta

rustc --version --verbose:

rustc 1.98.0-nightly (c1b22f44c 2026-06-17)
binary: rustc
commit-hash: c1b22f44c3f30e186b829de95f59740c3a690aba
commit-date: 2026-06-17
host: aarch64-apple-darwin
release: 1.98.0-nightly
LLVM version: 22.1.7
Error output
rror: internal compiler error: encountered incremental compilation error with explicit_supertraits_containing_assoc_item(137b68e953668bf1-3482ce0e2f2d407f)
  |
  = note: please follow the instructions below to create a bug report with the provided information
  = note: for incremental compilation bugs, having a reproduction is vital
  = note: an ideal reproduction consists of the code before and some patch that then triggers the bug when applied and compiled again
  = note: as a workaround, you can run `cargo clean -p ruma_events` or `cargo clean` to allow your project to compile
Backtrace


thread 'rustc' (1727979) panicked at /rustc-dev/c1b22f44c3f30e186b829de95f59740c3a690aba/compiler/rustc_middle/src/verify_ich.rs:82:9:
Found unstable fingerprints for explicit_supertraits_containing_assoc_item(137b68e953668bf1-3482ce0e2f2d407f): EarlyBinder { value: [(Binder { value: TraitPredicate(<Self as std::marker::MetaSized>, polarity:Positive), bound_vars: [] }, crates/ruma-events/src/content.rs:119:1: 125:2 (#14825)), (Binder { value: TraitPredicate(<Self as content::StateEventContent>, polarity:Positive), bound_vars: [] }, crates/ruma-events/src/content.rs:119:36: 119:53 (#0))], .. }
stack backtrace:
   0:        0x109e0cc90 - <<std[5af39319742f7961]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[3e42b1e4cfcbea60]::fmt::Display>::fmt
   1:        0x106c37edc - core[3e42b1e4cfcbea60]::fmt::write
   2:        0x109e23ae8 - <std[5af39319742f7961]::sys::stdio::unix::Stderr as std[5af39319742f7961]::io::Write>::write_fmt
   3:        0x109de278c - std[5af39319742f7961]::panicking::default_hook::{closure#0}
   4:        0x109dfe690 - std[5af39319742f7961]::panicking::default_hook
   5:        0x10790dd48 - std[5af39319742f7961]::panicking::update_hook::<alloc[8c680e8ea9663055]::boxed::Box<rustc_driver_impl[6ae75eebcc8caefb]::install_ice_hook::{closure#1}>>::{closure#0}
   6:        0x109dfe9f4 - std[5af39319742f7961]::panicking::panic_with_hook
   7:        0x109de281c - std[5af39319742f7961]::panicking::panic_handler::{closure#0}
   8:        0x109dd71e8 - std[5af39319742f7961]::sys::backtrace::__rust_end_short_backtrace::<std[5af39319742f7961]::panicking::panic_handler::{closure#0}, !>
   9:        0x109de3df0 - __rustc[a98ed591411b0eff]::rust_begin_unwind
  10:        0x109ec9918 - core[3e42b1e4cfcbea60]::panicking::panic_fmt
  11:        0x109faa604 - rustc_middle[443b26ed13d162fe]::verify_ich::incremental_verify_ich_failed
  12:        0x1091763a8 - rustc_middle[443b26ed13d162fe]::verify_ich::incremental_verify_ich::<rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 16usize]>>
  13:        0x109159e1c - rustc_query_impl[2b0801259482cc3c]::execution::try_execute_query::<rustc_middle[443b26ed13d162fe]::query::caches::DefaultCache<(rustc_span[832b073d0bd396ab]::def_id::DefId, rustc_span[832b073d0bd396ab]::symbol::Ident), rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 16usize]>>, true>
  14:        0x1092d3c78 - rustc_query_impl[2b0801259482cc3c]::query_impl::explicit_supertraits_containing_assoc_item::execute_query_incr::__rust_end_short_backtrace
  15:        0x107d567b0 - <core[3e42b1e4cfcbea60]::iter::sources::from_fn::FromFn<rustc_infer[21ead556f9994505]::traits::util::transitive_bounds_that_define_assoc_item<core[3e42b1e4cfcbea60]::iter::adapters::filter_map::FilterMap<core[3e42b1e4cfcbea60]::iter::adapters::map::Map<rustc_type_ir[4148a0a812eaa553]::binder::IterIdentityCopied<rustc_middle[443b26ed13d162fe]::ty::context::TyCtxt, &[(rustc_middle[443b26ed13d162fe]::ty::predicate::Clause, rustc_span[832b073d0bd396ab]::span_encoding::Span)]>, <rustc_type_ir[4148a0a812eaa553]::unnormalized::Unnormalized<rustc_middle[443b26ed13d162fe]::ty::context::TyCtxt, (rustc_middle[443b26ed13d162fe]::ty::predicate::Clause, rustc_span[832b073d0bd396ab]::span_encoding::Span)>>::skip_norm_wip>, <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}::{closure#0}>>::{closure#0}> as core[3e42b1e4cfcbea60]::iter::traits::iterator::Iterator>::next
  16:        0x107bf9ec0 - <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::probe_single_bound_for_assoc_item::<core[3e42b1e4cfcbea60]::iter::sources::from_fn::FromFn<rustc_infer[21ead556f9994505]::traits::util::transitive_bounds_that_define_assoc_item<core[3e42b1e4cfcbea60]::iter::adapters::filter_map::FilterMap<core[3e42b1e4cfcbea60]::iter::adapters::map::Map<rustc_type_ir[4148a0a812eaa553]::binder::IterIdentityCopied<rustc_middle[443b26ed13d162fe]::ty::context::TyCtxt, &[(rustc_middle[443b26ed13d162fe]::ty::predicate::Clause, rustc_span[832b073d0bd396ab]::span_encoding::Span)]>, <rustc_type_ir[4148a0a812eaa553]::unnormalized::Unnormalized<rustc_middle[443b26ed13d162fe]::ty::context::TyCtxt, (rustc_middle[443b26ed13d162fe]::ty::predicate::Clause, rustc_span[832b073d0bd396ab]::span_encoding::Span)>>::skip_norm_wip>, <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}::{closure#0}>>::{closure#0}>, <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}>::{closure#0}
  17:        0x107c77b70 - <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::resolve_type_relative_path
  18:        0x107c108c8 - <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::lower_type_relative_path::{closure#0}
  19:        0x107c1423c - <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::lower_type_relative_ty_path::{closure#0}
  20:        0x107c7eb90 - <dyn rustc_hir_analysis[85566d3dd0c17c95]::hir_ty_lowering::HirTyLowerer>::lower_ty
  21:        0x107d1fbd0 - rustc_hir_analysis[85566d3dd0c17c95]::collect::type_of::type_of
  22:        0x1092d630c - rustc_query_impl[2b0801259482cc3c]::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
  23:        0x1090df0f8 - rustc_query_impl[2b0801259482cc3c]::execution::try_execute_query::<rustc_middle[443b26ed13d162fe]::query::caches::DefIdCache<rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 8usize]>>, true>
  24:        0x1092d6284 - rustc_query_impl[2b0801259482cc3c]::query_impl::type_of::execute_query_incr::__rust_end_short_backtrace
  25:        0x107ca9614 - rustc_hir_analysis[85566d3dd0c17c95]::outlives::inferred_outlives_crate
  26:        0x1092c4e50 - rustc_query_impl[2b0801259482cc3c]::query_impl::inferred_outlives_crate::invoke_provider_fn::__rust_begin_short_backtrace
  27:        0x1090ed744 - rustc_query_impl[2b0801259482cc3c]::execution::try_execute_query::<rustc_middle[443b26ed13d162fe]::query::caches::SingleCache<rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 8usize]>>, true>
  28:        0x1093ef670 - <rustc_query_impl[2b0801259482cc3c]::dep_kind_vtables::make_dep_kind_vtable_for_query<rustc_query_impl[2b0801259482cc3c]::query_impl::inferred_outlives_crate::VTableGetter>::{closure#0} as core[3e42b1e4cfcbea60]::ops::function::FnOnce<(rustc_middle[443b26ed13d162fe]::ty::context::TyCtxt, rustc_middle[443b26ed13d162fe]::dep_graph::dep_node::DepNode, rustc_middle[443b26ed13d162fe]::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
  29:        0x10879aecc - <rustc_middle[443b26ed13d162fe]::dep_graph::graph::DepGraphData>::try_mark_previous_green
  30:        0x10879ae5c - <rustc_middle[443b26ed13d162fe]::dep_graph::graph::DepGraphData>::try_mark_previous_green
  31:        0x10879ae5c - <rustc_middle[443b26ed13d162fe]::dep_graph::graph::DepGraphData>::try_mark_previous_green
  32:        0x10879ac08 - <rustc_middle[443b26ed13d162fe]::dep_graph::graph::DepGraphData>::try_mark_green
  33:        0x10916d494 - rustc_query_impl[2b0801259482cc3c]::execution::ensure_can_skip_execution::<rustc_data_structures[58a578a3c89c15bb]::vec_cache::VecCache<rustc_hir_id[4a444372156c027]::OwnerId, rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[443b26ed13d162fe]::dep_graph::graph::DepNodeIndex>>
  34:        0x1092b1690 - rustc_query_impl[2b0801259482cc3c]::query_impl::check_well_formed::execute_query_incr::__rust_end_short_backtrace
  35:        0x107cf5738 - rustc_hir_analysis[85566d3dd0c17c95]::check::wfcheck::check_type_wf
  36:        0x1092a3f48 - rustc_query_impl[2b0801259482cc3c]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
  37:        0x1090e84dc - rustc_query_impl[2b0801259482cc3c]::execution::try_execute_query::<rustc_middle[443b26ed13d162fe]::query::caches::SingleCache<rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 1usize]>>, true>
  38:        0x1092a3ed0 - rustc_query_impl[2b0801259482cc3c]::query_impl::check_type_wf::execute_query_incr::__rust_end_short_backtrace
  39:        0x107c3784c - rustc_hir_analysis[85566d3dd0c17c95]::check_crate
  40:        0x10833ec88 - rustc_interface[e15c46fb2942de73]::passes::analysis
  41:        0x1090e2eb0 - rustc_query_impl[2b0801259482cc3c]::execution::try_execute_query::<rustc_middle[443b26ed13d162fe]::query::caches::SingleCache<rustc_middle[443b26ed13d162fe]::query::erase::ErasedData<[u8; 0usize]>>, true>
  42:        0x1092d653c - rustc_query_impl[2b0801259482cc3c]::query_impl::analysis::execute_query_incr::__rust_end_short_backtrace
  43:        0x1079017ec - rustc_interface[e15c46fb2942de73]::passes::create_and_enter_global_ctxt::<core[3e42b1e4cfcbea60]::option::Option<rustc_interface[e15c46fb2942de73]::queries::Linker>, rustc_driver_impl[6ae75eebcc8caefb]::run_compiler::{closure#0}::{closure#2}>
  44:        0x1079111d4 - rustc_interface[e15c46fb2942de73]::interface::run_compiler::<(), rustc_driver_impl[6ae75eebcc8caefb]::run_compiler::{closure#0}>::{closure#1}
  45:        0x107906d7c - std[5af39319742f7961]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[e15c46fb2942de73]::util::run_in_thread_with_globals<rustc_interface[e15c46fb2942de73]::util::run_in_thread_pool_with_globals<rustc_interface[e15c46fb2942de73]::interface::run_compiler<(), rustc_driver_impl[6ae75eebcc8caefb]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  46:        0x107916844 - <std[5af39319742f7961]::thread::lifecycle::spawn_unchecked<rustc_interface[e15c46fb2942de73]::util::run_in_thread_with_globals<rustc_interface[e15c46fb2942de73]::util::run_in_thread_pool_with_globals<rustc_interface[e15c46fb2942de73]::interface::run_compiler<(), rustc_driver_impl[6ae75eebcc8caefb]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[3e42b1e4cfcbea60]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  47:        0x109e09750 - <std[5af39319742f7961]::sys::thread::unix::Thread>::new::thread_start
  48:        0x1852adc58 - __pthread_cond_wait

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ICE reports, the panic at compiler/rustc_middle/src/verify_ich.rs:82, and the referenced crates/ruma-events/src/content.rs:119 change. Reproduce the incremental build failure using the linked ruma refactoring and ice_diff.patch, comparing a clean build with the patched rebuild. Done means the reported incremental compilation error no longer occurs and the reproduction remains covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.