Skip to content

[ICE]: node HirId(...) cannot be placed in TypeckResults with hir_owner DefId(...) #155327

@kands-code

Description

@kands-code

I hit this ICE while running cargo doc on a project depending on bitflags.

Since my project doesn't depend on this crate directly, I'm not sure about the exact code causing the issue.

#133064 looks like the same issue.

Code

RUSTDOCFLAGS="-Z unstable-options --generate-link-to-definition" cargo doc

Meta

$ rustc --version --verbose
rustc 1.97.0-nightly (a5c825cd8 2026-04-14)
binary: rustc
commit-hash: a5c825cd824ee0ef9463021078a2f464b4cc1a0d
commit-date: 2026-04-14
host: aarch64-apple-darwin
release: 1.97.0-nightly
LLVM version: 22.1.2

Error output

error: internal compiler error: /rustc-dev/a5c825cd824ee0ef9463021078a2f464b4cc1a0d/compiler/rustc_middle/src/ty/typeck_results.rs:590:9: node HirId(DefId(0:231 ~ bitflags[096d]::external::serde::deserialize::{impl#0}).7) (type `B::Bits`) cannot be placed in TypeckResults with hir_owner DefId(0:223 ~ bitflags[096d]::external::serde::deserialize)


thread 'rustc' (3454822) panicked at /rustc-dev/a5c825cd824ee0ef9463021078a2f464b4cc1a0d/compiler/rustc_middle/src/ty/typeck_results.rs:590:9:
Box<dyn Any>
Backtrace
stack backtrace:
   0:        0x114911fc4 - <<std[7778c625c8c429c6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[38409abe52c5f23a]::fmt::Display>::fmt
   1:        0x111a2bce8 - core[38409abe52c5f23a]::fmt::write
   2:        0x114929940 - <std[7778c625c8c429c6]::sys::stdio::unix::Stderr as std[7778c625c8c429c6]::io::Write>::write_fmt
   3:        0x1148e8898 - std[7778c625c8c429c6]::panicking::default_hook::{closure#0}
   4:        0x114904684 - std[7778c625c8c429c6]::panicking::default_hook
   5:        0x112748af0 - std[7778c625c8c429c6]::panicking::update_hook::<alloc[5d451c8122815ada]::boxed::Box<rustc_driver_impl[8540172d190cf228]::install_ice_hook::{closure#1}>>::{closure#0}
   6:        0x1149049e8 - std[7778c625c8c429c6]::panicking::panic_with_hook
   7:        0x1127ba014 - std[7778c625c8c429c6]::panicking::begin_panic::<rustc_errors[b69cdbdeb62e8763]::ExplicitBug>::{closure#0}
   8:        0x1127acca0 - std[7778c625c8c429c6]::sys::backtrace::__rust_end_short_backtrace::<std[7778c625c8c429c6]::panicking::begin_panic<rustc_errors[b69cdbdeb62e8763]::ExplicitBug>::{closure#0}, !>
   9:        0x1179a2f88 - std[7778c625c8c429c6]::panicking::begin_panic::<rustc_errors[b69cdbdeb62e8763]::ExplicitBug>
  10:        0x1179a3c78 - <rustc_errors[b69cdbdeb62e8763]::diagnostic::BugAbort as rustc_errors[b69cdbdeb62e8763]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:        0x117a0e8e8 - rustc_middle[cbc0055af4fc0c97]::util::bug::opt_span_bug_fmt::<rustc_span[2655de84d8082a8f]::span_encoding::Span>::{closure#0}
  12:        0x1134a9c30 - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_opt::<rustc_middle[cbc0055af4fc0c97]::util::bug::opt_span_bug_fmt<rustc_span[2655de84d8082a8f]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  13:        0x113482264 - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_context_opt::<rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_opt<rustc_middle[cbc0055af4fc0c97]::util::bug::opt_span_bug_fmt<rustc_span[2655de84d8082a8f]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  14:        0x117a126b4 - rustc_middle[cbc0055af4fc0c97]::util::bug::bug_fmt
  15:        0x117a0ed6c - rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results::{closure#0}
  16:        0x117a0e90c - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with::<rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results::{closure#0}, !>::{closure#0}
  17:        0x117a0e900 - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_context::<rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with<rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results::{closure#0}, !>::{closure#0}, !>::{closure#0}
  18:        0x117a0e330 - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_context_opt::<rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with_context<rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with<rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results::{closure#0}, !>::{closure#0}, !>::{closure#0}, !>
  19:        0x117a0e33c - rustc_middle[cbc0055af4fc0c97]::ty::context::tls::with::<rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results::{closure#0}, !>
  20:        0x117a12690 - rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::invalid_hir_id_for_typeck_results
  21:        0x1134c861c - <rustc_middle[cbc0055af4fc0c97]::ty::typeck_results::TypeckResults>::qpath_res
  22:        0x104b530bc - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_qpath
  23:        0x104916c04 - rustc_hir[d410cfb5567c8b47]::intravisit::walk_where_predicate::<rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor>
  24:        0x104920618 - rustc_hir[d410cfb5567c8b47]::intravisit::walk_item::<rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor>
  25:        0x104be8b9c - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_stmt
  26:        0x104b52754 - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_expr
  27:        0x104b526f8 - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_expr
  28:        0x1049216e8 - rustc_hir[d410cfb5567c8b47]::intravisit::walk_item::<rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor>
  29:        0x104b5328c - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_mod
  30:        0x104b5328c - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_mod
  31:        0x104b5328c - <rustdoc[98d35d75eeb75633]::html::render::span_map::SpanMapVisitor as rustc_hir[d410cfb5567c8b47]::intravisit::Visitor>::visit_mod
  32:        0x104a41120 - <rustdoc[98d35d75eeb75633]::html::render::context::Context>::init
  33:        0x1049d1c6c - rustdoc[98d35d75eeb75633]::main_args::{closure#2}::{closure#0}
  34:        0x1049c7a8c - rustc_interface[12061e2de5249540]::interface::run_compiler::<(), rustdoc[98d35d75eeb75633]::main_args::{closure#2}>::{closure#1}
  35:        0x1049243c4 - std[7778c625c8c429c6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[12061e2de5249540]::util::run_in_thread_with_globals<rustc_interface[12061e2de5249540]::util::run_in_thread_pool_with_globals<rustc_interface[12061e2de5249540]::interface::run_compiler<(), rustdoc[98d35d75eeb75633]::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  36:        0x1049fcb5c - <std[7778c625c8c429c6]::thread::lifecycle::spawn_unchecked<rustc_interface[12061e2de5249540]::util::run_in_thread_with_globals<rustc_interface[12061e2de5249540]::util::run_in_thread_pool_with_globals<rustc_interface[12061e2de5249540]::interface::run_compiler<(), rustdoc[98d35d75eeb75633]::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[38409abe52c5f23a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  37:        0x11490f22c - <std[7778c625c8c429c6]::sys::thread::unix::Thread>::new::thread_start
  38:        0x180a17c58 - __pthread_cond_wait

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-rustdoc&template=ice.md

note: please make sure that you have updated to the latest nightly

note: please attach the file at `/Users/kevinstephen/.local/sdk/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bitflags-2.11.1/rustc-ice-2026-04-15T05_20_17-46689.txt` to your bug report

note: rustc 1.97.0-nightly (a5c825cd8 2026-04-14) running on aarch64-apple-darwin

note: compiler flags: --crate-type lib -Z unstable-options

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

query stack during panic:
end of query stack
error: could not document `bitflags`
warning: build failed, waiting for other jobs to finish...

rustc-ice-2026-04-15T05_20_17-46689.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-link-to-definitionrustdoc --generate-link-to-definition nightly-only featureC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way. When possible, use a F-* label instead.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions