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
Member

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
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

📌 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

rust-bors Bot commented May 13, 2026

Copy link
Copy Markdown
Contributor

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

@fmease

fmease commented May 13, 2026

Copy link
Copy Markdown
Member

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

rust-bors Bot commented May 13, 2026

Copy link
Copy Markdown
Contributor

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

@rust-bors

rust-bors Bot commented May 13, 2026

Copy link
Copy Markdown
Contributor

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
@JonathanBrouwer
JonathanBrouwer deleted the rollup-TpAOmAT branch August 21, 2026 08:17
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