rust-lang / rust-lang/rust-clippy

Encountered Incremental Compilation Error With implementations_of_trait

Open
#14,565 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug I-ICE
Dominant language
Rust
Stars
13.5k
Forks
2.2k
Avg merge
2d 10h
Merged PRs (30d)
32

Description

Summary

I got an error while running clippy:

cargo clippy --all-targets --all-features -- -D warnings

Running cargo clean solved the problem for me.

Version
rustc 1.84.1 (e71f9a9a9 2025-01-27)
binary: rustc
commit-hash: e71f9a9a98b0faf423844bf0ba7438f29dc27d58
commit-date: 2025-01-27
host: x86_64-unknown-linux-gnu
release: 1.84.1
LLVM version: 19.1.5
Error output
error: internal compiler error: encountered incremental compilation error with implementations_of_trait(6a17a4ecda523ca2-c877ac74d7c1db66)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p integration` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/compiler/rustc_query_system/src/query/plumbing.rs:731:9:
Found unstable fingerprints for implementations_of_trait(6a17a4ecda523ca2-c877ac74d7c1db66): []
stack backtrace:
stack backtrace:
   0:     0x7e9e69b8441a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h14b23c1989cbd5c2
   1:     0x7e9e6a227162 - core::fmt::write::h346b5eee5ed4d7cc
   2:     0x7e9e6b4a5091 - std::io::Write::write_fmt::heeb48dcd4a60b46b
   3:     0x7e9e69b84272 - std::sys::backtrace::BacktraceLock::print::h48db11f3fd4983ff
   4:     0x7e9e69b8674a - std::panicking::default_hook::{{closure}}::h65db976b9c0d8674
   5:     0x7e9e69b865b0 - std::panicking::default_hook::h6eb3a1192db1ae36
   6:     0x7e9e68c14095 - std[54cea36f08c4d466]::panicking::update_hook::<alloc[f5c0dcb5f10d0150]::boxed::Box<rustc_driver_impl[37f7bfa86997fb3b]::install_ice_hook::{closure#0}>>::{closure#0}
   7:     0x7e9e69b86e28 - std::panicking::rust_panic_with_hook::h370ee1901241e459
   8:     0x7e9e69b86bfa - std::panicking::begin_panic_handler::{{closure}}::heabfe92676d6d073
   9:     0x7e9e69b848c9 - std::sys::backtrace::__rust_end_short_backtrace::h6e22d229d4fdf49e
  10:     0x7e9e69b868bc - rust_begin_unwind
  11:     0x7e9e666e3e80 - core::panicking::panic_fmt::hfae270fab21da3e6
  12:     0x7e9e696fdf9c - rustc_query_system[40b99bd727a86ef6]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[f124f68bc34f306d]::ty::context::TyCtxt>.specialized.5
  13:     0x7e9e6a88eea5 - rustc_query_system[40b99bd727a86ef6]::query::plumbing::incremental_verify_ich::<rustc_middle[f124f68bc34f306d]::ty::context::TyCtxt, rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 16usize]>>
  14:     0x7e9e6a837a09 - rustc_query_system[40b99bd727a86ef6]::query::plumbing::try_execute_query::<rustc_query_impl[d508d6b1a3f59f0f]::DynamicConfig<rustc_query_system[40b99bd727a86ef6]::query::caches::DefaultCache<(rustc_span[8aaab159fc7bbb1b]::def_id::CrateNum, rustc_span[8aaab159fc7bbb1b]::def_id::DefId), rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt, true>
  15:     0x7e9e6a836c48 - rustc_query_impl[d508d6b1a3f59f0f]::query_impl::implementations_of_trait::get_query_incr::__rust_end_short_backtrace
  16:     0x7e9e6a834e79 - rustc_middle[f124f68bc34f306d]::ty::trait_def::trait_impls_of_provider
  17:     0x7e9e6a834573 - rustc_query_impl[d508d6b1a3f59f0f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d508d6b1a3f59f0f]::query_impl::trait_impls_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 8usize]>>
  18:     0x7e9e6a511533 - rustc_query_system[40b99bd727a86ef6]::query::plumbing::try_execute_query::<rustc_query_impl[d508d6b1a3f59f0f]::DynamicConfig<rustc_query_system[40b99bd727a86ef6]::query::caches::DefIdCache<rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt, true>
  19:     0x7e9e6b009b47 - rustc_query_impl[d508d6b1a3f59f0f]::plumbing::force_from_dep_node::<rustc_query_impl[d508d6b1a3f59f0f]::DynamicConfig<rustc_query_system[40b99bd727a86ef6]::query::caches::DefIdCache<rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
  20:     0x7e9e6967962d - <rustc_query_impl[d508d6b1a3f59f0f]::plumbing::query_callback<rustc_query_impl[d508d6b1a3f59f0f]::query_impl::trait_impls_of::QueryType>::{closure#0} as core[53bbf806356464da]::ops::function::FnOnce<(rustc_middle[f124f68bc34f306d]::ty::context::TyCtxt, rustc_query_system[40b99bd727a86ef6]::dep_graph::dep_node::DepNode)>>::call_once
  21:     0x7e9e6a224111 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  22:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  23:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  24:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  25:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  26:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  27:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  28:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  29:     0x7e9e6a224082 - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  30:     0x7e9e6a2238ae - <rustc_query_system[40b99bd727a86ef6]::dep_graph::graph::DepGraphData<rustc_middle[f124f68bc34f306d]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  31:     0x7e9e6adb84ea - rustc_query_system[40b99bd727a86ef6]::query::plumbing::ensure_must_run::<rustc_query_impl[d508d6b1a3f59f0f]::DynamicConfig<rustc_query_system[40b99bd727a86ef6]::query::caches::DefaultCache<rustc_span[8aaab159fc7bbb1b]::def_id::LocalModDefId, rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt>
  32:     0x7e9e6ac20bd7 - rustc_query_impl[d508d6b1a3f59f0f]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
  33:     0x7e9e6a61e5a4 - rustc_hir_analysis[e1af88464222557]::check_crate
  34:     0x7e9e6ac01b04 - rustc_interface[cacdc69d6663efce]::passes::run_required_analyses
  35:     0x7e9e6adb389e - rustc_interface[cacdc69d6663efce]::passes::analysis
  36:     0x7e9e6adb386f - rustc_query_impl[d508d6b1a3f59f0f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d508d6b1a3f59f0f]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 1usize]>>
  37:     0x7e9e6b134fba - rustc_query_system[40b99bd727a86ef6]::query::plumbing::try_execute_query::<rustc_query_impl[d508d6b1a3f59f0f]::DynamicConfig<rustc_query_system[40b99bd727a86ef6]::query::caches::SingleCache<rustc_middle[f124f68bc34f306d]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[d508d6b1a3f59f0f]::plumbing::QueryCtxt, true>
  38:     0x7e9e6b134ab7 - rustc_query_impl[d508d6b1a3f59f0f]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  39:     0x7e9e6b06a8d8 - rustc_interface[cacdc69d6663efce]::interface::run_compiler::<core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>, rustc_driver_impl[37f7bfa86997fb3b]::run_compiler::{closure#0}>::{closure#1}
  40:     0x7e9e6b07fae0 - std[54cea36f08c4d466]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[cacdc69d6663efce]::util::run_in_thread_with_globals<rustc_interface[cacdc69d6663efce]::util::run_in_thread_pool_with_globals<rustc_interface[cacdc69d6663efce]::interface::run_compiler<core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>, rustc_driver_impl[37f7bfa86997fb3b]::run_compiler::{closure#0}>::{closure#1}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>::{closure#0}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>
  41:     0x7e9e6b07f7fd - <<std[54cea36f08c4d466]::thread::Builder>::spawn_unchecked_<rustc_interface[cacdc69d6663efce]::util::run_in_thread_with_globals<rustc_interface[cacdc69d6663efce]::util::run_in_thread_pool_with_globals<rustc_interface[cacdc69d6663efce]::interface::run_compiler<core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>, rustc_driver_impl[37f7bfa86997fb3b]::run_compiler::{closure#0}>::{closure#1}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>::{closure#0}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[53bbf806356464da]::result::Result<(), rustc_span[8aaab159fc7bbb1b]::ErrorGuaranteed>>::{closure#1} as core[53bbf806356464da]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  42:     0x7e9e6b07efb9 - std::sys::pal::unix::thread::Thread::new::thread_start::h0feaf4a9a4b2ecde
  43:     0x7e9e65294ac3 - start_thread
                               at ./nptl/pthread_create.c:442:8
  44:     0x7e9e65326850 - __GI___clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  45:                0x0 - <unknown>
error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new?template=ice.yml

note: rustc 1.84.1 (e71f9a9a9 2025-01-27) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden
query stack during panic:
query stack during panic:
#0 [implementations_of_trait] looking up implementations of a trait in a crate
#1 [trait_impls_of] finding trait impls of `tokio::util::linked_list::Link`
end of query stack
note: Clippy version: clippy 0.1.84 (e71f9a9a98 2025-01-27)

there was a panic while trying to force a dep node
try_mark_green dep node stack:
try_mark_green dep node stack:
#0 TraitSelect(73b46e9c268a2784-29c9b6c101b29d68)
#1 normalize_canonicalized_projection_ty(7bf8583ef7c1f0ee-719ff5527b38781d)
#2 dropck_outlives(e8422056cfa2f938-e9850fb1d47a0330)
#3 mir_borrowck(integration[55ee]::util::start_issuer_and_client::{closure#0})
#4 mir_borrowck(integration[55ee]::util::start_issuer_and_client)
#5 type_of_opaque(integration[55ee]::util::start_issuer_and_client::{opaque#0})
#6 type_of(integration[55ee]::util::start_issuer_and_client::{opaque#0})
#7 check_well_formed(integration[55ee]::util::start_issuer_and_client::{opaque#0})
#8 check_mod_type_wf(integration[55ee]::util)
end of try_mark_green dep node stack
error: could not compile `<crate-name>` (test "integration") due to 1 previous error

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 by reproducing the reported cargo clippy --all-targets --all-features -- -D warnings failure with rustc 1.84.1, comparing incremental and cleaned builds. Read rustc_query_system/src/query/plumbing.rs:731 and trace the implementations_of_trait and trait_impls_of query entries shown in the stack. Done means the incremental build no longer panics for this case, while the existing cargo clean workaround remains unnecessary.

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
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.