rust-lang / rust-lang/rust-clippy
Encountered Incremental Compilation Error With implementations_of_trait
Open
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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