Skip to content

Rename UnevaluatedConst to AliasConst#158115

Merged
rust-bors[bot] merged 8 commits into
rust-lang:mainfrom
Shourya742:2026-06-19-rename-unevaluatedConst-to-aliasconst
Jun 27, 2026
Merged

Rename UnevaluatedConst to AliasConst#158115
rust-bors[bot] merged 8 commits into
rust-lang:mainfrom
Shourya742:2026-06-19-rename-unevaluatedConst-to-aliasconst

Conversation

@Shourya742

@Shourya742 Shourya742 commented Jun 19, 2026

Copy link
Copy Markdown
Member

View all comments

refer: rust-lang/project-const-generics#115

r? @khyperia

I only renamed the type system version to AliasConst/AliasConstKind. I did not rename MIR’s UnevaluatedConst, it currently holds direct def_id instead of kind variant we have in type-system. I also left rustc_public’s UnevaluatedConst unchanged.

@rustbot

rustbot commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

This PR changes rustc_public

cc @oli-obk, @celinval, @ouz-a, @makai410

changes to the core type system

cc @lcnr

Some changes occurred in const_evaluatable.rs

cc @BoxyUwU

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

Some changes occurred in match checking

cc @Nadrieril

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri, @RalfJung, @oli-obk, @lcnr

Some changes occurred in rustc_ty_utils::consts.rs

cc @BoxyUwU

HIR ty lowering was modified

cc @fmease

changes to the core type system

cc @lcnr

@rustbot

rustbot commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Failed to set assignee to khyperia: invalid assignee

Note: Only org members with at least the repository "read" role, users with write permissions, or people who have commented on the PR may be assigned.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jun 19, 2026
@Shourya742 Shourya742 marked this pull request as draft June 19, 2026 03:48
@rustbot rustbot 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 Jun 19, 2026
@rust-cloud-vms rust-cloud-vms Bot force-pushed the 2026-06-19-rename-unevaluatedConst-to-aliasconst branch from 73249cb to bea205a Compare June 19, 2026 04:38
@rust-log-analyzer

This comment has been minimized.

@khyperia

khyperia commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

thanks so much for working on this! ❤️

there's some more stuff that we want to rename related to this change (sorry for not being more clear in the issue description!):

  • ConstKind::Unevaluated (variant that just holds a UnevaluatedConst, its name should reflect what it contains)
  • Const::new_unevaluated (constructor for the previous variant)
    • (and the Interner trait for new_unevaluated)
  • Interner::UnevaluatedConstId (this one is a bit sketch, I believe it's actually only used for anon consts, not all AliasConsts, so it should possibly be renamed to AnonConstId instead of AliasConstId. Please double check for me though and make a judgement call!)
  • perhaps little things like AliasTerm::to_term has a local named unevaluated_const, some other places also call local variables unevaluated. This is less important though, IMO!
    • same thing that we have a relatively consistent naming that variables of type UnevaluatedConst are called uv, could possibly rename those as uv no longer makes sense. But, it's not as important, we can also clean this up over time, IMO.
  • lots of comments referring to Unevaluated that could be rephrased if you'd like (it'd be nice to not have to know the legacy information that these things used to be called unevaluated consts while reading comments, but not strictly necessary to update I suppose)
  • I need to remember to update the rustc dev guide (but honestly that's on me, that page is pretty out of date after my recent refactorings, I've been forgetting to update it)

I discovered the above list by running rg -i unevaluated in compiler/, and being like, "hmm, does this mention of the word 'unevaluated' have to do with the concept of UnevaluatedConst, or is it just talking about something in general being unevaluated? (and ignoring mir and rustc_public's UnevaluatedConst)". (Just letting you know so you can do the same kind of thing if you'd like! I might have missed some stuff)

Would you like to work on all this other stuff in phases, or would you rather do everything in one big PR? Up to you I think!

@Shourya742

Copy link
Copy Markdown
Member Author

Would you like to work on all this other stuff in phases, or would you rather do everything in one big PR? Up to you I think!

Thanks for thorough review and suggestions. I would like to get them in, in this PR itself (would be scary to ping these many people again). I will make sure to add commits for each update for easier review. I will reach out, if I have some doubts. Thanks.

Comment thread compiler/rustc_type_ir/src/predicate.rs Outdated
Comment thread compiler/rustc_type_ir/src/interner.rs Outdated
Comment thread compiler/rustc_hir_analysis/src/check/check.rs Outdated
@Shourya742

Shourya742 commented Jun 21, 2026

Copy link
Copy Markdown
Member Author

thanks so much for working on this! ❤️

there's some more stuff that we want to rename related to this change (sorry for not being more clear in the issue description!):

  • ConstKind::Unevaluated (variant that just holds a UnevaluatedConst, its name should reflect what it contains)

  • Const::new_unevaluated (constructor for the previous variant)

    • (and the Interner trait for new_unevaluated)
  • Interner::UnevaluatedConstId (this one is a bit sketch, I believe it's actually only used for anon consts, not all AliasConsts, so it should possibly be renamed to AnonConstId instead of AliasConstId. Please double check for me though and make a judgement call!)

  • perhaps little things like AliasTerm::to_term has a local named unevaluated_const, some other places also call local variables unevaluated. This is less important though, IMO!

    • same thing that we have a relatively consistent naming that variables of type UnevaluatedConst are called uv, could possibly rename those as uv no longer makes sense. But, it's not as important, we can also clean this up over time, IMO.
  • lots of comments referring to Unevaluated that could be rephrased if you'd like (it'd be nice to not have to know the legacy information that these things used to be called unevaluated consts while reading comments, but not strictly necessary to update I suppose)

  • I need to remember to update the rustc dev guide (but honestly that's on me, that page is pretty out of date after my recent refactorings, I've been forgetting to update it)

I think I have addressed most of these, I have few questions which I posted side by side to the code change. Super thanks for the review.

@khyperia (for some reason bors acting weird with assignments.)

@rust-log-analyzer

This comment has been minimized.

@khyperia

Copy link
Copy Markdown
Contributor

@khyperia (for some reason bors acting weird with assignments.)

I'm not actually part of the project 😅 (yet...), so I don't have r+ privs or stuff like that. But, I double checked with @BoxyUwU before making the issue for this change, and she (and a few other folks) are super on board with the change! (This change has been a long time coming I feel like)

@rust-cloud-vms rust-cloud-vms Bot force-pushed the 2026-06-19-rename-unevaluatedConst-to-aliasconst branch from 9f77834 to 1309d08 Compare June 21, 2026 05:29
@Shourya742

Shourya742 commented Jun 21, 2026

Copy link
Copy Markdown
Member Author

Ah!! let me try again, considering bors should do assignment based on comments.

r? @khyperia

yay!!! it did!

const HAS_TY_INHERENT = 1 << 13;
/// Does this have `ConstKind::Unevaluated`?
/// Does this have `ConstKind::Alias`?
const HAS_CT_PROJECTION = 1 << 14;

@khyperia khyperia Jun 21, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is totally unrelated to your PR, but I dislike the name of this bitflag. To me, HAS_CT_PROJECTION corresponds to having a AliasConstKind::Projection, just like HAS_TY_PROJECTION does, but no, the comment is correct, HAS_CT_PROJECTION corresponds to having any ConstKind::Alias. (Pointing this out in case any other reviewer sees this and has the same "???" as me)

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this is weird :3 follow up item to change this I think, probably at minimum we should rename this to HAS_CONST_ALIASES

@Shourya742 Shourya742 marked this pull request as ready for review June 21, 2026 05:39
@rustbot

rustbot commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred to the CTFE machinery

cc @RalfJung, @oli-obk, @lcnr

Some changes occurred in abstract_const.rs

cc @BoxyUwU

Some changes occurred to constck

cc @fee1-dead

Some changes occurred in need_type_info.rs

cc @lcnr

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 21, 2026

@khyperia khyperia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me! Feel free to fix up the little nits/questions you had, but as they're not directly relevant to the core of the change, I'm also happy as-is. Thank you so much for working on this, it's gonna make it sooo much nicer to talk about these things, and help the readability of the compiler so much.

As for someone who can actually r+, I'm guessing anyone in the Const Generics Project Group (I'm guessing Boxy probably knows what's up here the best, but she's also very swamped with reviews, so idk)

View changes since this review

@BoxyUwU BoxyUwU self-assigned this Jun 21, 2026
@RalfJung

RalfJung commented Jun 21, 2026

Copy link
Copy Markdown
Member

I did not rename MIR’s UnevaluatedConst,

I still like the "unevalutaed" name and don't understand how this is an "alias" (a const item is not an alias for anything?), so please discuss this with wg-const-eval and explain the issues with the current names before renaming anything on the MIR side. t-types is not the only group interacting with MIR constants, and to a non-types-person, this "alias" terminology is more confusing than helpful IMO.

(For type constants I have no objections to t-types picking whatever name you find most helpful, but when writing docs, please keep in mind that whatever analogy you see between type aliases and consts is unlikely to be obvious to others.)

@rust-bors

This comment has been minimized.

Comment thread compiler/rustc_type_ir/src/predicate.rs Outdated
const HAS_TY_INHERENT = 1 << 13;
/// Does this have `ConstKind::Unevaluated`?
/// Does this have `ConstKind::Alias`?
const HAS_CT_PROJECTION = 1 << 14;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this is weird :3 follow up item to change this I think, probably at minimum we should rename this to HAS_CONST_ALIASES

@BoxyUwU

BoxyUwU commented Jun 23, 2026

Copy link
Copy Markdown
Member

thx yeah this looks good to me, one nit & needs rebasing then can be merged. i agree with ralf that we shouldn't change the MIR constant stuff, that stuff will remain just being unevaluated consts rather than being type system consts.

thanks @khyperia for reviews and @Shourya742 for working on this 💚 im really happy to see this finally happen after years of having this awkward inconsistency 😅

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

❗ You can only retry pull requests that are approved and have a previously failed auto build.

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

This pull request was unapproved due to being closed.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
  TOOLSTATE_PUBLISH: 1
  IMAGE: pr-check-2
##[endgroup]
    Updating crates.io index
error: failed to get `askama_derive` as a dependency of package `askama_macros v0.16.0`
    ... which satisfies dependency `askama_macros = "=0.16.0"` of package `askama v0.16.0`
    ... which satisfies dependency `askama = "^0.16.0"` of package `citool v0.1.0 (/home/runner/work/rust/rust/src/ci/citool)`

Caused by:
  failed to load source for dependency `askama_derive`

Caused by:
  unable to update registry `crates-io`

Caused by:
  download of as/ka/askama_derive failed

Caused by:
  curl failed

Caused by:

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Uhm oops, sorry, that was the wrong button
@bors r=BoxyUwU,khyperia

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit c502825 has been approved by BoxyUwU,khyperia

It is now in the queue for this repository.

@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

💔 Test for cdcd318 failed: CI. Failed job:

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

@bors retry

@rust-bors

This comment has been minimized.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
  DEPLOY: 1
  WIX: /d/a/rust/rust/wix
##[endgroup]
    Updating crates.io index
error: failed to get `cookie` as a dependency of package `cookie_store v0.21.1`
    ... which satisfies dependency `cookie_store = "^0.21.1"` of package `ureq v3.0.8`
    ... which satisfies dependency `ureq = "^3"` of package `citool v0.1.0 (D:\a\rust\rust\src\ci\citool)`

Caused by:
  failed to load source for dependency `cookie`

Caused by:
  unable to update registry `crates-io`

Caused by:
  download of co/ok/cookie failed

Caused by:
  curl failed

Caused by:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-i686-mingw failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
-- Generating done (2.5s)
-- Build files have been written to: D:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build
running: "cmake" "--build" "D:\\a\\rust\\rust\\build\\i686-pc-windows-gnu\\llvm\\build" "--target" "install" "--config" "Release" "--" "-j" "4"
[1/3892] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.obj
FAILED: lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.obj 
sccache D:\a\rust\rust\mingw32\bin\g++.exe -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_USE_CXX11_ABI=1 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/lib/Demangle -ID:/a/rust/rust/src/llvm-project/llvm/lib/Demangle -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer -Wa,-mbig-obj -Werror=date-time -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.obj -MF lib\Demangle\CMakeFiles\LLVMDemangle.dir\ItaniumDemangle.cpp.obj.d -o lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/lib/Demangle/ItaniumDemangle.cpp
sccache: error: Timed out waiting for server startup. Maybe the remote service is unreachable?
Run with SCCACHE_LOG=debug SCCACHE_NO_DAEMON=1 to get more information
[2/3892] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.obj
FAILED: lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.obj 
sccache D:\a\rust\rust\mingw32\bin\g++.exe -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_USE_CXX11_ABI=1 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/lib/Demangle -ID:/a/rust/rust/src/llvm-project/llvm/lib/Demangle -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer -Wa,-mbig-obj -Werror=date-time -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.obj -MF lib\Demangle\CMakeFiles\LLVMDemangle.dir\Demangle.cpp.obj.d -o lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/lib/Demangle/Demangle.cpp
sccache: error: Timed out waiting for server startup. Maybe the remote service is unreachable?
Run with SCCACHE_LOG=debug SCCACHE_NO_DAEMON=1 to get more information
[3/3892] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.obj
FAILED: lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.obj 
sccache D:\a\rust\rust\mingw32\bin\g++.exe -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_USE_CXX11_ABI=1 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/lib/Demangle -ID:/a/rust/rust/src/llvm-project/llvm/lib/Demangle -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer -Wa,-mbig-obj -Werror=date-time -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.obj -MF lib\Demangle\CMakeFiles\LLVMDemangle.dir\MicrosoftDemangleNodes.cpp.obj.d -o lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
sccache: error: Timed out waiting for server startup. Maybe the remote service is unreachable?
Run with SCCACHE_LOG=debug SCCACHE_NO_DAEMON=1 to get more information
[4/3892] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.obj
FAILED: lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.obj 
sccache D:\a\rust\rust\mingw32\bin\g++.exe -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_USE_CXX11_ABI=1 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/lib/Demangle -ID:/a/rust/rust/src/llvm-project/llvm/lib/Demangle -ID:/a/rust/rust/build/i686-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m32 -fno-omit-frame-pointer -Wa,-mbig-obj -Werror=date-time -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17 -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.obj -MF lib\Demangle\CMakeFiles\LLVMDemangle.dir\MicrosoftDemangle.cpp.obj.d -o lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/lib/Demangle/MicrosoftDemangle.cpp
sccache: error: Timed out waiting for server startup. Maybe the remote service is unreachable?
Run with SCCACHE_LOG=debug SCCACHE_NO_DAEMON=1 to get more information
ninja: build stopped: subcommand failed.

thread 'main' (4072) panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cmake-0.1.54\src\lib.rs:1119:5:

command did not execute successfully, got: exit code: 1

build script failed, must exit now
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/0417c25868d6dfbd1c291dfeae950504faa6f790/library\std\src/panicking.rs:689:5
   1: core::panicking::panic_fmt
             at /rustc/0417c25868d6dfbd1c291dfeae950504faa6f790/library\core\src/panicking.rs:80:14
   2: cmake::fail
   3: cmake::run
   4: <cmake::Config>::build
   5: <bootstrap::core::build_steps::llvm::Llvm as bootstrap::core::builder::Step>::run
             at .\src\bootstrap\src\core\build_steps\llvm.rs:553:13
   6: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::llvm::Llvm>
             at .\src\bootstrap\src\core\builder\mod.rs:1597:36
   7: <bootstrap::core::build_steps::compile::Assemble as bootstrap::core::builder::Step>::run
             at .\src\bootstrap\src\core\build_steps\compile.rs:2149:69
   8: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::compile::Assemble>
             at .\src\bootstrap\src\core\builder\mod.rs:1597:36
   9: <bootstrap::core::builder::Builder>::compiler
             at .\src\bootstrap\src\core\builder\mod.rs:1167:14
  10: bootstrap::core::build_steps::doc::prepare_doc_compiler
             at .\src\bootstrap\src\core\build_steps\doc.rs:853:34
  11: <bootstrap::core::build_steps::doc::UnstableBook as bootstrap::core::builder::Step>::make_run
             at .\src\bootstrap\src\core\build_steps\doc.rs:111:29
  12: <bootstrap::core::builder::StepDescription>::maybe_run
             at .\src\bootstrap\src\core\builder\mod.rs:476:13
  13: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at .\src\bootstrap\src\core\builder\cli_paths.rs:141:22
  14: <bootstrap::core::builder::Builder>::run_step_descriptions
             at .\src\bootstrap\src\core\builder\mod.rs:1140:9
  15: <bootstrap::core::builder::Builder>::run_default_doc_steps
             at .\src\bootstrap\src\core\builder\mod.rs:1124:14
  16: <bootstrap::core::build_steps::dist::Docs as bootstrap::core::builder::Step>::run
             at .\src\bootstrap\src\core\build_steps\dist.rs:88:17
  17: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::dist::Docs>
             at .\src\bootstrap\src\core\builder\mod.rs:1597:36
  18: <bootstrap::core::build_steps::dist::Docs as bootstrap::core::builder::Step>::make_run
             at .\src\bootstrap\src\core\build_steps\dist.rs:79:21
  19: <bootstrap::core::builder::StepDescription>::maybe_run
             at .\src\bootstrap\src\core\builder\mod.rs:476:13
  20: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at .\src\bootstrap\src\core\builder\cli_paths.rs:141:22
  21: <bootstrap::core::builder::Builder>::run_step_descriptions
             at .\src\bootstrap\src\core\builder\mod.rs:1140:9
  22: <bootstrap::core::builder::Builder>::execute_cli
             at .\src\bootstrap\src\core\builder\mod.rs:1119:14
  23: <bootstrap::Build>::build
             at .\src\bootstrap\src\lib.rs:803:25
  24: bootstrap::main
             at .\src\bootstrap\src\bin\main.rs:130:11
  25: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/0417c25868d6dfbd1c291dfeae950504faa6f790/library\core\src\ops\function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: BoxyUwU,khyperia
Duration: 3h 23m 14s
Pushing cb41b6d to main...

@github-actions

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 267c405 (parent) -> cb41b6d (this PR)

Test differences

Show 14 test diffs

14 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard cb41b6d3daa0c1ad088a8802a6d8700c61290865 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. arm-android: 1h 16m -> 1h 44m (+37.7%)
  2. dist-aarch64-apple: 1h 39m -> 2h 14m (+35.2%)
  3. x86_64-msvc-ext3: 1h 19m -> 1h 46m (+33.7%)
  4. x86_64-mingw-1: 2h 10m -> 2h 54m (+33.6%)
  5. dist-x86_64-freebsd: 1h 29m -> 59m 39s (-33.6%)
  6. dist-x86_64-llvm-mingw: 1h 27m -> 1h 57m (+33.3%)
  7. dist-loongarch64-linux: 1h 42m -> 1h 8m (-33.1%)
  8. x86_64-gnu-stable: 1h 46m -> 2h 20m (+31.6%)
  9. x86_64-msvc-ext2: 1h 53m -> 1h 22m (-26.9%)
  10. dist-various-1: 58m 5s -> 1h 13m (+26.8%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (cb41b6d): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary 5.0%, secondary -3.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
5.0% [3.2%, 6.7%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.2% [-6.0%, -0.9%] 5
All ❌✅ (primary) 5.0% [3.2%, 6.7%] 2

Cycles

Results (secondary 1.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.7% [2.4%, 11.6%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-9.8% [-10.7%, -9.0%] 2
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 488.303s -> 485.171s (-0.64%)
Artifact size: 395.21 MiB -> 393.14 MiB (-0.52%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants