rust-lang / rust-lang/rust

[ICE]: RustRover use the external linter(cargo clippy) will ICE

Open
#158,097 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Code

the codes is not open source, also I don't know which part cause the problem so I can't write a reproduce example

Meta

rustc --version --verbose:

rustc 1.98.0-nightly (9e2abe0c6 2026-06-16)
binary: rustc
commit-hash: 9e2abe0c6ab27fcbb95c30695188a75776e2feb1
commit-date: 2026-06-16
host: x86_64-unknown-linux-gnu
release: 1.98.0-nightly
LLVM version: 22.1.7
Error output

the rustc-ice-2026-06-18T17_21_07-3591736.txt says

thread 'rustc' panicked at /rustc-dev/9e2abe0c6ab27fcbb95c30695188a75776e2feb1/compiler/rustc_middle/src/verify_ich.rs:82:9:
Found unstable fingerprints for explicit_supertraits_containing_assoc_item(d15cfa41fea94516-da26bb15f29cbc90): EarlyBinder { value: [(Binder { value: TraitPredicate(<Self as std::marker::MetaSized>, polarity:Positive), bound_vars: [] }, core/src/quic/mod.rs:332:1: 342:2 (#7742))], .. }
stack backtrace:
   0:     0x7f3fa6b4327b - <std[7714dba5b6ef3665]::backtrace::Backtrace>::create
   1:     0x7f3fa6b431c5 - <std[7714dba5b6ef3665]::backtrace::Backtrace>::force_capture
   2:     0x7f3fa58f36cd - std[7714dba5b6ef3665]::panicking::update_hook::<alloc[ae23afbf0eb7b860]::boxed::Box<rustc_driver_impl[9ef58b002ab3d52b]::install_ice_hook::{closure#1}>>::{closure#0}
   3:     0x7f3fa6b56882 - std[7714dba5b6ef3665]::panicking::panic_with_hook
   4:     0x7f3fa6b38c72 - std[7714dba5b6ef3665]::panicking::panic_handler::{closure#0}
   5:     0x7f3fa6b2f979 - std[7714dba5b6ef3665]::sys::backtrace::__rust_end_short_backtrace::<std[7714dba5b6ef3665]::panicking::panic_handler::{closure#0}, !>
   6:     0x7f3fa6b3a6dd - __rustc[ea0685af806a8468]::rust_begin_unwind
   7:     0x7f3fa35b3f3c - core[d50e0e9deb654cba]::panicking::panic_fmt
   8:     0x7f3fa5ff0aa6 - rustc_middle[baaa39d4d91d7d69]::verify_ich::incremental_verify_ich_failed
   9:     0x7f3fa7345bc4 - rustc_middle[baaa39d4d91d7d69]::verify_ich::incremental_verify_ich::<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 16usize]>>
  10:     0x7f3fa81c073f - rustc_query_impl[5b1f09c03d5f0969]::execution::try_execute_query::<rustc_middle[baaa39d4d91d7d69]::query::caches::DefaultCache<(rustc_span[413ded034610a5]::def_id::DefId, rustc_span[413ded034610a5]::symbol::Ident), rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 16usize]>>, true>
  11:     0x7f3fa81bfce9 - rustc_query_impl[5b1f09c03d5f0969]::query_impl::explicit_supertraits_containing_assoc_item::execute_query_incr::__rust_end_short_backtrace
  12:     0x7f3fa78c04ed - <core[d50e0e9deb654cba]::iter::sources::from_fn::FromFn<rustc_infer[1a7869e305c77d6d]::traits::util::transitive_bounds_that_define_assoc_item<core[d50e0e9deb654cba]::iter::adapters::filter_map::FilterMap<core[d50e0e9deb654cba]::iter::adapters::map::Map<rustc_type_ir[321aae95b0c494d9]::binder::IterIdentityCopied<rustc_middle[baaa39d4d91d7d69]::ty::context::TyCtxt, &[(rustc_middle[baaa39d4d91d7d69]::ty::predicate::Clause, rustc_span[413ded034610a5]::span_encoding::Span)]>, <rustc_type_ir[321aae95b0c494d9]::unnormalized::Unnormalized<rustc_middle[baaa39d4d91d7d69]::ty::context::TyCtxt, (rustc_middle[baaa39d4d91d7d69]::ty::predicate::Clause, rustc_span[413ded034610a5]::span_encoding::Span)>>::skip_norm_wip>, <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}::{closure#0}>>::{closure#0}> as core[d50e0e9deb654cba]::iter::traits::iterator::Iterator>::next
  13:     0x7f3fa78bd588 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::probe_single_bound_for_assoc_item::<core[d50e0e9deb654cba]::iter::sources::from_fn::FromFn<rustc_infer[1a7869e305c77d6d]::traits::util::transitive_bounds_that_define_assoc_item<core[d50e0e9deb654cba]::iter::adapters::filter_map::FilterMap<core[d50e0e9deb654cba]::iter::adapters::map::Map<rustc_type_ir[321aae95b0c494d9]::binder::IterIdentityCopied<rustc_middle[baaa39d4d91d7d69]::ty::context::TyCtxt, &[(rustc_middle[baaa39d4d91d7d69]::ty::predicate::Clause, rustc_span[413ded034610a5]::span_encoding::Span)]>, <rustc_type_ir[321aae95b0c494d9]::unnormalized::Unnormalized<rustc_middle[baaa39d4d91d7d69]::ty::context::TyCtxt, (rustc_middle[baaa39d4d91d7d69]::ty::predicate::Clause, rustc_span[413ded034610a5]::span_encoding::Span)>>::skip_norm_wip>, <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}::{closure#0}>>::{closure#0}>, <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::probe_single_ty_param_bound_for_assoc_item::{closure#0}::{closure#0}>::{closure#0}
  14:     0x7f3fa78b86e0 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::resolve_type_relative_path
  15:     0x7f3fa7899585 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::lower_type_relative_path::{closure#0}
  16:     0x7f3fa78a43c6 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::lower_type_relative_ty_path::{closure#0}
  17:     0x7f3fa78a95e4 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::lower_ty
  18:     0x7f3fa78a8ebf - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::lower_ty
  19:     0x7f3fa7ab8575 - <dyn rustc_hir_analysis[69433c83ad13238c]::hir_ty_lowering::HirTyLowerer>::lower_fn_ty
  20:     0x7f3fa7ab7c94 - rustc_hir_analysis[69433c83ad13238c]::collect::lower_fn_sig_recovering_infer_ret_ty
  21:     0x7f3fa746e68a - rustc_hir_analysis[69433c83ad13238c]::collect::fn_sig
  22:     0x7f3fa746de66 - rustc_query_impl[5b1f09c03d5f0969]::query_impl::fn_sig::invoke_provider_fn::__rust_begin_short_backtrace
  23:     0x7f3fa75884cd - rustc_query_impl[5b1f09c03d5f0969]::execution::try_execute_query::<rustc_middle[baaa39d4d91d7d69]::query::caches::DefIdCache<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 24usize]>>, true>
  24:     0x7f3fa75c11cb - rustc_query_impl[5b1f09c03d5f0969]::query_impl::fn_sig::execute_query_incr::__rust_end_short_backtrace
  25:     0x7f3fa745a4a3 - <rustc_hir_analysis[69433c83ad13238c]::variance::constraints::ConstraintContext>::build_constraints_for_item
  26:     0x7f3fa367cac8 - rustc_hir_analysis[69433c83ad13238c]::variance::crate_variances
  27:     0x7f3fa8366be8 - rustc_query_impl[5b1f09c03d5f0969]::query_impl::crate_variances::invoke_provider_fn::__rust_begin_short_backtrace
  28:     0x7f3fa835ba77 - rustc_query_impl[5b1f09c03d5f0969]::execution::try_execute_query::<rustc_middle[baaa39d4d91d7d69]::query::caches::SingleCache<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 8usize]>>, true>
  29:     0x7f3fa835b36f - rustc_query_impl[5b1f09c03d5f0969]::execution::force_query_dep_node::<rustc_middle[baaa39d4d91d7d69]::query::caches::SingleCache<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 8usize]>>>
  30:     0x7f3fa88bdbad - <rustc_query_impl[5b1f09c03d5f0969]::dep_kind_vtables::make_dep_kind_vtable_for_query<rustc_query_impl[5b1f09c03d5f0969]::query_impl::crate_variances::VTableGetter>::{closure#0} as core[d50e0e9deb654cba]::ops::function::FnOnce<(rustc_middle[baaa39d4d91d7d69]::ty::context::TyCtxt, rustc_middle[baaa39d4d91d7d69]::dep_graph::dep_node::DepNode, rustc_middle[baaa39d4d91d7d69]::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
  31:     0x7f3fa7222e23 - <rustc_middle[baaa39d4d91d7d69]::dep_graph::graph::DepGraphData>::try_mark_previous_green
  32:     0x7f3fa7222a54 - <rustc_middle[baaa39d4d91d7d69]::dep_graph::graph::DepGraphData>::try_mark_previous_green
  33:     0x7f3fa75c4ca5 - rustc_query_impl[5b1f09c03d5f0969]::execution::ensure_can_skip_execution::<rustc_data_structures[f9eb68913028e68]::vec_cache::VecCache<rustc_span[413ded034610a5]::def_id::LocalDefId, rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 1usize]>, rustc_middle[baaa39d4d91d7d69]::dep_graph::graph::DepNodeIndex>>
  34:     0x7f3fa75c988f - rustc_query_impl[5b1f09c03d5f0969]::query_impl::check_well_formed::execute_query_incr::__rust_end_short_backtrace
  35:     0x7f3fa80ab66f - rustc_hir_analysis[69433c83ad13238c]::check::wfcheck::check_type_wf
  36:     0x7f3fa80ab561 - rustc_query_impl[5b1f09c03d5f0969]::query_impl::check_type_wf::invoke_provider_fn::__rust_begin_short_backtrace
  37:     0x7f3fa84eb3a8 - rustc_query_impl[5b1f09c03d5f0969]::execution::try_execute_query::<rustc_middle[baaa39d4d91d7d69]::query::caches::SingleCache<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 1usize]>>, true>
  38:     0x7f3fa84ead4c - rustc_query_impl[5b1f09c03d5f0969]::query_impl::check_type_wf::execute_query_incr::__rust_end_short_backtrace
  39:     0x7f3fa7663d9e - rustc_hir_analysis[69433c83ad13238c]::check_crate
  40:     0x7f3fa766624c - rustc_interface[f47445029dc880bd]::passes::analysis
  41:     0x7f3fa83cf642 - rustc_query_impl[5b1f09c03d5f0969]::execution::try_execute_query::<rustc_middle[baaa39d4d91d7d69]::query::caches::SingleCache<rustc_middle[baaa39d4d91d7d69]::query::erase::ErasedData<[u8; 0usize]>>, true>
  42:     0x7f3fa83cef77 - rustc_query_impl[5b1f09c03d5f0969]::query_impl::analysis::execute_query_incr::__rust_end_short_backtrace
  43:     0x7f3fa8329312 - rustc_interface[f47445029dc880bd]::interface::run_compiler::<(), rustc_driver_impl[9ef58b002ab3d52b]::run_compiler::{closure#0}>::{closure#1}
  44:     0x7f3fa8376eba - std[7714dba5b6ef3665]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[f47445029dc880bd]::util::run_in_thread_with_globals<rustc_interface[f47445029dc880bd]::util::run_in_thread_pool_with_globals<rustc_interface[f47445029dc880bd]::interface::run_compiler<(), rustc_driver_impl[9ef58b002ab3d52b]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  45:     0x7f3fa8376c6d - <std[7714dba5b6ef3665]::thread::lifecycle::spawn_unchecked<rustc_interface[f47445029dc880bd]::util::run_in_thread_with_globals<rustc_interface[f47445029dc880bd]::util::run_in_thread_pool_with_globals<rustc_interface[f47445029dc880bd]::interface::run_compiler<(), rustc_driver_impl[9ef58b002ab3d52b]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[d50e0e9deb654cba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  46:     0x7f3fa836d150 - <std[7714dba5b6ef3665]::sys::thread::unix::Thread>::new::thread_start
  47:     0x7f3fa18981b9 - <unknown>
  48:     0x7f3fa191d21c - <unknown>
  49:                0x0 - <unknown>


rustc version: 1.98.0-nightly (9e2abe0c6 2026-06-16)
platform: x86_64-unknown-linux-gnu

query stack during panic:
#0 [explicit_supertraits_containing_assoc_item] computing the super traits of `quic::TunnelManage` with associated type name `Tunnel`
#1 [fn_sig] computing function signature of `node::<impl at core/src/node/mod.rs:150:1: 155:23>::recv_tunnel`
#2 [crate_variances] computing the variances for items in this crate
#3 [check_type_wf] checking that types are well-formed
#4 [analysis] running analysis passes on crate `wiresquirrel_core`
end of query stack

actually, I try cargo clippy and cargo b -r, it says nothing, just works well, but when I edit codes in RustRover and enable the external linter(cargo clippy), I will see many files like rustc-ice-2026-06-18T17_21_07-3591736.txt in the project dir

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 ICE from RustRover with the external cargo clippy linter, then compare it with cargo clippy and cargo b -r, which reportedly work normally. Read the panic in rustc_middle/src/verify_ich.rs and the referenced locations in core/src/quic/mod.rs and core/src/node/mod.rs. Done means the trigger is minimized and the compiler no longer emits rustc-ice files or panics in this workflow.

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.