Skip to content

Rollup of 3 pull requests#156514

Closed
JonathanBrouwer wants to merge 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-TpAOmAT
Closed

Rollup of 3 pull requests#156514
JonathanBrouwer wants to merge 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-TpAOmAT

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

cijiugechu and others added 11 commits May 8, 2026 22:13
…e it always is

`rustc_resolve` doesn't resolve type-relative paths since that's the job
of HIR ty lowering and HIR typeck. `segment.res` comes from
`rustc_resolve` and is thus always `Res::Err`.
So just try to obtain the `TypeckResults` immediately since they contain
the actual resolution as deduced by HIR typeck.
Don't unnecessarily try to obtain the type-dependent definition of callees
in `visit_expr`, just let `visit_qpath` handle callees.
This means that for callees that are

* `Resolved` paths (the majority of callees) we don't try to `typeck` the
  enclosing body which should improve perf if the body doesn't contain
  any type-dependent definitions.
* actually `TypeRelative` paths we don't resolve them twice (with
  slightly different spans)
… r=bjorn3

bootstrap: remap windows-style OUT_DIR paths

### problem:
on windows, some paths embedded into debuginfo / metadata may internally use `\` separators, while the existing `RUSTC_DEBUGINFO_MAP` remapping only covers the `/` form of `self.build.out`.

### fix:
add an additional remap entry for the windows style `\` variant of `self.build.out`.

### result:
improves path remapping consistency on windows, in turn helping with reproducibility.

r? @bjorn3
… r=BoxyUwU

Don't treat const param default as projection

Avoid treating const param default as associated const projection.

Closes rust-lang#156293
…laumeGomez

rustdoc: Correctness & perf improvements to link-to-definition

Rewrite the way we resolve type-dependent paths (incl. method calls) in `SpanMapVisitor`. Instead of trying to (re)find the enclosing body owner each time we encounter such a node, potentially calling `typeck_body` several times per body, keep track of the "active" `BodyId` in the visitor and cache the corresponding `TypeckResults`. The "active" `BodyId` is updated in `visit_nested_body` (add) and in `visit_item` (remove).

This fixes a class of ICEs where we tried to look up the definition of type-relative paths located in non-body items nested in bodies, in the overarching body which is never correct. rustdoc@main has a hack to fix this issue for paths specifically found in assoc types in impls.

Fixes rust-lang#147882. Fixes rust-lang#147057. Fixes rust-lang#155327. Fixes rust-lang#149089. Fixes rust-lang#150153.
Supersedes rust-lang#147911.

---

`--generate-link-to-definition` is not enabled by default, so we can't perf this as is. Instead, I'm benching them against PR rust-lang#156348 in PR rust-lang#156355 using the same parent commit for the try-builds. For context, LTD is *extremely* costly as the perf run for the baseline PR shows: rust-lang#156348 (comment).

"Absolute results": rust-lang#156355 (comment).
"Relative results": [https://perf.rust-lang.org/compare.html?...](https://perf.rust-lang.org/compare.html?start=68c2bff6cb08a87e59246064a6a9f37098e22c3f&end=78d15de5525370011388c8f63847e873c4de14ed&stat=instructions%3Au).

Excerpt of the relative results:

Primary:

Benchmark | Profile | Scenario | Backend | Target | % Change | Significance Threshold | Significance Factor
---|---|---|---|---|---|---|---
nalgebra-0.33.0 | doc | full | llvm | x64 | -5.82% | 0.20% | 29.09x
diesel-2.2.10 | doc | full | llvm | x64 | -3.41% | 0.20% | 17.05x
image-0.25.6 | doc | full | llvm | x64 | -2.03% | 0.20% | 10.16x
regex-automata-0.4.8 | doc | full | llvm | x64 | -1.94% | 0.20% | 9.71x
cargo-0.87.1 | doc | full | llvm | x64 | -1.64% | 0.20% | 8.21x
clap_derive-4.5.32 | doc | full | llvm | x64 | -1.63% | 0.20% | 8.14x
cranelift-codegen-0.119.0 | doc | full | llvm | x64 | -1.48% | 0.20% | 7.41x
syn-2.0.101 | doc | full | llvm | x64 | -1.07% | 0.20% | 5.35x
ripgrep-14.1.1 | doc | full | llvm | x64 | -0.96% | 0.20% | 4.78x
stm32f4-0.15.1 | doc | full | llvm | x64 | -0.80% | 0.20% | 4.01x
serde-1.0.219 | doc | full | llvm | x64 | -0.67% | 0.20% | 3.33x
hyper-1.6.0 | doc | full | llvm | x64 | -0.66% | 0.20% | 3.30x
eza-0.21.2 | doc | full | llvm | x64 | -0.55% | 0.20% | 2.74x
unicode-normalization-0.1.24 | doc | full | llvm | x64 | -0.49% | 0.20% | 2.45x
serde_derive-1.0.219 | doc | full | llvm | x64 | -0.45% | 0.20% | 2.26x
typenum-1.18.0 | doc | full | llvm | x64 | -0.42% | 0.20% | 2.08x
bitmaps-3.2.1 | doc | full | llvm | x64 | -0.32% | 0.20% | 1.61x

Secondary:

Benchmark | Profile | Scenario | Backend | Target | % Change | Significance Threshold | Significance Factor
---|---|---|---|---|---|---|---
deep-vector | doc | full | llvm | x64 | -23.96% | 0.20% | 119.78x
large-workspace | doc | full | llvm | x64 | -2.16% | 0.20% | 10.81x
deeply-nested-multi | doc | full | llvm | x64 | -1.35% | 0.20% | 6.75x
serde-1.0.219-threads4 | doc | full | llvm | x64 | -0.67% | 0.20% | 3.33x
wg-grammar | doc | full | llvm | x64 | -0.32% | 0.20% | 1.62x
tt-muncher | opt | full | llvm | x64 | -0.31% | 0.20% | 1.56x

nalgebra-0.33.0:

Query/Function | Time (%) | Time (s) | Time delta | Executions | Executions delta | Hits | Hits delta
---|---|---|---|---|---|---|---
Totals | 109.57% | 2.185 | -0.138 (-5.9%) | 1614146 | -5602 (-0.3%) | 16983840 | -1436455 (-7.8%)
typeck_root | 15.75% | 0.344 | -0.105 (-23.4%) | 1704 | -954 (-35.9%) | 393 | -6758 (-94.5%)
...|...|...|...|...|...|...|...
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 12, 2026
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels May 12, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 12, 2026

📌 Commit 20d05b0 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 12, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 12, 2026
…uwer

Rollup of 3 pull requests

Successful merges:

 - #156504 (bootstrap: remap windows-style OUT_DIR paths)
 - #156325 (Don't treat const param default as projection)
 - #156413 (rustdoc: Correctness & perf improvements to link-to-definition)
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job x86_64-rust-for-linux failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:949:61
    |
949 |         Locality::L3 => intrinsics::prefetch_read_data::<T, { Locality::L3.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:949:61
    |
949 |         Locality::L3 => intrinsics::prefetch_read_data::<T, { Locality::L3.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:950:61
    |
950 |         Locality::L2 => intrinsics::prefetch_read_data::<T, { Locality::L2.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:950:61
    |
950 |         Locality::L2 => intrinsics::prefetch_read_data::<T, { Locality::L2.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:951:61
    |
951 |         Locality::L1 => intrinsics::prefetch_read_data::<T, { Locality::L1.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:951:61
    |
951 |         Locality::L1 => intrinsics::prefetch_read_data::<T, { Locality::L1.to_llvm() }>(ptr),
    |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:986:62
    |
986 |         Locality::L3 => intrinsics::prefetch_write_data::<T, { Locality::L3.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:986:62
    |
986 |         Locality::L3 => intrinsics::prefetch_write_data::<T, { Locality::L3.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:987:62
    |
987 |         Locality::L2 => intrinsics::prefetch_write_data::<T, { Locality::L2.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:987:62
    |
987 |         Locality::L2 => intrinsics::prefetch_write_data::<T, { Locality::L2.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:988:62
    |
988 |         Locality::L1 => intrinsics::prefetch_write_data::<T, { Locality::L1.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
   --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:988:62
    |
988 |         Locality::L1 => intrinsics::prefetch_write_data::<T, { Locality::L1.to_llvm() }>(ptr),
    |                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1023:68
     |
1023 |         Locality::L3 => intrinsics::prefetch_read_instruction::<T, { Locality::L3.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1023:68
     |
1023 |         Locality::L3 => intrinsics::prefetch_read_instruction::<T, { Locality::L3.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1024:68
     |
1024 |         Locality::L2 => intrinsics::prefetch_read_instruction::<T, { Locality::L2.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1024:68
     |
1024 |         Locality::L2 => intrinsics::prefetch_read_instruction::<T, { Locality::L2.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^

error: internal compiler error: `type_of` called on const argument's anon const before the const argument was lowered
##[error]    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1025:68
     |
1025 |         Locality::L1 => intrinsics::prefetch_read_instruction::<T, { Locality::L1.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
note: delayed at compiler/rustc_hir_analysis/src/collect/type_of.rs:398:14
         0: <rustc_errors::DiagCtxtInner>::emit_diagnostic
         1: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
         2: <rustc_errors::diagnostic::Diag>::emit_producing_error_guaranteed
         3: <rustc_errors::DiagCtxtHandle>::span_delayed_bug::<rustc_span::span_encoding::Span, &str>
         4: <rustc_middle::ty::Ty>::new_error_with_message::<rustc_span::span_encoding::Span, &str>
         5: rustc_hir_analysis::collect::type_of::type_of
         6: rustc_query_impl::query_impl::type_of::invoke_provider_fn::__rust_begin_short_backtrace
         7: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, false>
         8: rustc_query_impl::query_impl::type_of::execute_query_non_incr::__rust_end_short_backtrace
         9: rustc_hir_typeck::typeck_with_inspect
        10: <rustdoc::core::create_config::{closure#3}::{closure#2} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
        11: rustc_query_impl::query_impl::typeck_root::invoke_provider_fn::__rust_begin_short_backtrace
        12: rustc_query_impl::execution::try_execute_query::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::ErasedData<[u8; 8]>, rustc_middle::dep_graph::graph::DepNodeIndex>, false>
        13: rustc_query_impl::query_impl::typeck_root::execute_query_non_incr::__rust_end_short_backtrace
        14: <rustc_middle::ty::context::TyCtxt>::typeck::<rustc_span::def_id::LocalDefId>
        15: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_expr
        16: rustc_hir::intravisit::walk_const_arg::<rustdoc::html::render::span_map::SpanMapVisitor>
        17: rustc_hir::intravisit::walk_generic_args::<rustdoc::html::render::span_map::SpanMapVisitor>
        18: <rustdoc::html::render::span_map::SpanMapVisitor as rustc_hir::intravisit::Visitor>::visit_qpath
        19: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        20: rustc_hir::intravisit::walk_expr::<rustdoc::html::render::span_map::SpanMapVisitor>
        21: rustc_hir::intravisit::walk_fn::<rustdoc::html::render::span_map::SpanMapVisitor>
        22: rustc_hir::intravisit::walk_item::<rustdoc::html::render::span_map::SpanMapVisitor>
        23: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        24: rustc_hir::intravisit::walk_mod::<rustdoc::html::render::span_map::SpanMapVisitor>
        25: <rustdoc::html::render::context::Context>::init
        26: <rustc_session::session::Session>::time::<(), rustdoc::main_args::{closure#2}::{closure#0}::{closure#1}>
        27: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<(), rustdoc::main_args::{closure#2}::{closure#0}>::{closure#2}, ()>::{closure#1}, ()>::{closure#0}, ()>
        28: rustc_interface::passes::create_and_enter_global_ctxt::<(), rustdoc::main_args::{closure#2}::{closure#0}>
        29: rustc_interface::interface::run_compiler::<(), rustdoc::main_args::{closure#2}>::{closure#1}
        30: std::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
        31: <std::thread::lifecycle::spawn_unchecked<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustdoc::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
        32: <std::sys::thread::unix::Thread>::new::thread_start
        33: <unknown>
        34: <unknown>
      
    --> /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust/library/core/src/hint.rs:1025:68
     |
1025 |         Locality::L1 => intrinsics::prefetch_read_instruction::<T, { Locality::L1.to_llvm() }>(ptr),
     |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^

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 `/checkout/obj/rfl/linux/rustc-ice-2026-05-13T00_14_17-58069.txt` to your bug report

note: rustc 1.97.0-nightly (2d50ed4ab 2026-05-12) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z binary_dep_depinfo=y -C panic=abort -C embed-bitcode=n -C lto=n -C force-unwind-tables=n -C codegen-units=1 -C symbol-mangling-version=v0 -C relocation-model=static -Z function-sections=n -C target-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2 -Z cf-protection=branch -C jump-tables=n -C target-cpu=x86-64 -Z tune-cpu=generic -C no-redzone=y -C code-model=kernel -Z function-return=thunk-extern -Z patchable-function-entry=16,16 -C opt-level=2 -C debug-assertions=n -C overflow-checks=y -Z unstable-options -C unsafe-allow-abi-mismatch=fixed-x18

query stack during panic:
end of query stack
make[2]: *** [rust/Makefile:212: rustdoc-core] Error 101
make[1]: *** [/checkout/obj/rfl/linux/Makefile:1939: rustdoc] Error 2
make: *** [Makefile:248: __sub-make] Error 2
make: Leaving directory '/checkout/obj/rfl/linux'
  local time: Wed May 13 00:14:17 UTC 2026
  network time: Wed, 13 May 2026 00:14:17 GMT
****************************************************************************
To find more information about this job, visit the following URL:

For more information how to resolve CI failures of this job, visit this link.

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 13, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 13, 2026

💔 Test for 2d50ed4 failed: CI. Failed job:

@fmease
Copy link
Copy Markdown
Member

fmease commented May 13, 2026

That failure is on me (#156413).

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 13, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 13, 2026

PR #156413, which is a member of this rollup, was unapproved.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 13, 2026

PR #156413, which is a member of this rollup, changed its commit SHA.

This rollup was closed.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants