Skip to content

Get rid of QueryVTable::call_query_method_fn#153387

Merged
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Zalathar:call-query
Mar 7, 2026
Merged

Get rid of QueryVTable::call_query_method_fn#153387
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Zalathar:call-query

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Mar 4, 2026

View all comments

Calling the query method to promote a value is equivalent to doing a cache lookup and then calling execute_query_fn, so we can just do that manually instead.

There are two “functional” differences here: If a cache hit occurs, we don't record the hit for self-profiling, and we don't register a read of the dep node. In the context of promotion, which touches all eligible cache entries just before writing the memory-cached values to disk, those two steps should be unnecessary overhead anyway.

r? nnethercote (or compiler)

@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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. labels Mar 4, 2026
@Zalathar
Copy link
Member Author

Zalathar commented Mar 4, 2026

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 4, 2026
Get rid of `QueryVTable::call_query_method_fn`
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Mar 4, 2026
@Zalathar Zalathar mentioned this pull request Mar 4, 2026
@nnethercote
Copy link
Contributor

Seems fine, good to get rid of this fn. r=me once perf results come back ok.

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

☀️ Try build successful (CI)
Build commit: 5bc0460 (5bc04606b33438d872679e82b473662e1bdaefcf, parent: d933cf483edf1605142ac6899ff32536c0ad8b22)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (5bc0460): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.3%, -0.1%] 9
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.1%] 6
All ❌✅ (primary) -0.3% [-0.3%, -0.1%] 9

Max RSS (memory usage)

Results (secondary -5.2%)

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)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.2% [-5.2%, -5.2%] 1
All ❌✅ (primary) - - 0

Cycles

Results (primary 2.4%, secondary -2.2%)

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

mean range count
Regressions ❌
(primary)
2.4% [2.3%, 2.4%] 2
Regressions ❌
(secondary)
5.3% [3.0%, 7.6%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-17.2% [-17.2%, -17.2%] 1
All ❌✅ (primary) 2.4% [2.3%, 2.4%] 2

Binary size

Results (primary 0.1%, secondary 0.1%)

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

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.1%] 23
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 54
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.0%, 0.1%] 23

Bootstrap: 481.183s -> 478.983s (-0.46%)
Artifact size: 394.90 MiB -> 394.84 MiB (-0.02%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Mar 4, 2026
@Zalathar
Copy link
Member Author

Zalathar commented Mar 4, 2026

@bors r=nnethercote

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 4, 2026

📌 Commit bab6f12 has been approved by nnethercote

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. 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. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 4, 2026
@rust-bors

This comment has been minimized.

Calling the query method is equivalent to doing a cache lookup and then calling
`execute_query_fn`, so we can just do that manually instead.
@rustbot
Copy link
Collaborator

rustbot commented Mar 5, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@Zalathar
Copy link
Member Author

Zalathar commented Mar 5, 2026

Rebased.

@bors r=nnethercote

@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 5, 2026

📌 Commit 9012d4e has been approved by nnethercote

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 5, 2026
@rust-bors

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 7, 2026
Get rid of `QueryVTable::call_query_method_fn`

Calling the query method to promote a value is equivalent to doing a cache lookup and then calling `execute_query_fn`, so we can just do that manually instead.

There are two “functional” differences here: If a cache hit occurs, we don't record the hit for self-profiling, and we don't register a read of the dep node. In the context of promotion, which touches *all* eligible cache entries just before writing the memory-cached values to disk, those two steps should be unnecessary overhead anyway.

r? nnethercote (or compiler)
@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 Mar 7, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

💔 Test for 74e4d1f failed: CI. Failed job:

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-aux failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
/dev/sda15      105M  6.2M   99M   6% /boot/efi
tmpfs           1.6G   12K  1.6G   1% /run/user/1001
================================================================================

Sufficient disk space available (94885472KB >= 52428800KB). Skipping cleanup.
##[group]Run src/ci/scripts/setup-environment.sh
src/ci/scripts/setup-environment.sh
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
Initialized empty Git repository in /checkout/obj/build/ct/diesel/.git/
fatal: Could not parse object '3db7c17c5b069656ed22750e84d6498c8ab5b81d'.
From https://github.com/diesel-rs/diesel
 * branch            3db7c17c5b069656ed22750e84d6498c8ab5b81d -> FETCH_HEAD
HEAD is now at 3db7c17 Merge pull request #4917 from LucaCappelletti94/allow_tables_to_appear_in_same_query-modules
    Updating crates.io index
     Locking 280 packages to latest compatible versions
      Adding cargo_metadata v0.19.2 (available: v0.23.1)
      Adding darling v0.21.3 (available: v0.23.0)
      Adding generic-array v0.14.7 (available: v0.14.9)
      Adding getrandom v0.2.17 (available: v0.4.2)
      Adding getrandom v0.3.4 (available: v0.4.2)
      Adding libsqlite3-sys v0.35.0 (available: v0.36.0)
      Adding rand v0.9.2 (available: v0.10.0)
      Adding sqlite-wasm-vfs v0.1.1 (available: v0.2.0)
      Adding sqlparser v0.59.0 (available: v0.61.0)
      Adding toml v0.9.12+spec-1.1.0 (available: v1.0.6+spec-1.1.0)
---
test query_builder::sql_query::tests::check_boxed_sql_query_is_send ... ok
test sqlite::connection::stmt::tests::check_out_of_bounds_bind_does_not_panic_on_drop ... ok
test sqlite::connection::sqlite_value::tests::can_convert_all_values ... ok
test sqlite::connection::tests::correctly_handle_empty_query ... ok
test sqlite::connection::row::tests::fun_with_row_iters ... ok
test sqlite::connection::tests::database_serializes_and_deserializes_successfully ... ok
test sqlite::connection::tests::register_aggregate_function_returns_finalize_default_on_empty_set ... ok
test sqlite::connection::tests::register_aggregate_function ... ok
test sqlite::connection::tests::register_aggregate_multiarg_function ... ok
test sqlite::connection::tests::register_noarg_function ... ok
test sqlite::connection::tests::register_multiarg_function ... ok
---
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::ExpressionMethods::not_between (line 422) ... ok
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::ExpressionMethods::ne_all (line 169) ... ok
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::NullableExpressionMethods::assume_not_null (line 644) ... ok
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::NullableExpressionMethods::nullable (line 599) - compile ... ok
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::NullableExpressionMethods::assume_not_null (line 671) ... ok
test diesel/src/expression_methods/global_expression_methods.rs - expression_methods::global_expression_methods::NullableExpressionMethods::assume_not_null (line 706) ... ok
test diesel/src/expression_methods/json_expression_methods.rs - expression_methods::json_expression_methods::AnyJsonExpressionMethods::retrieve_as_text (line 18) ... ok
test diesel/src/expression_methods/text_expression_methods.rs - expression_methods::text_expression_methods::TextExpressionMethods::like (line 74) ... ok
test diesel/src/expression_methods/text_expression_methods.rs - expression_methods::text_expression_methods::TextExpressionMethods::concat (line 14) ... ok
test diesel/src/expression_methods/text_expression_methods.rs - expression_methods::text_expression_methods::TextExpressionMethods::not_like (line 110) ... ok
test diesel/src/insertable.rs - insertable::Insertable::insert_into (line 41) ... ok
test diesel/src/lib.rs - helper_types::InnerJoinQuerySource (line 571) ... ok
---
test diesel/src/query_builder/functions.rs - query_builder::functions::update (line 25) ... ok
test diesel/src/query_builder/functions.rs - query_builder::functions::replace_into (line 497) ... ok
test diesel/src/query_builder/functions.rs - query_builder::functions::sql_query (line 551) ... ok
test diesel/src/query_builder/functions.rs - query_builder::functions::update (line 49) ... ok
test diesel/src/query_builder/has_query.rs - query_builder::has_query::HasQuery (line 56) ... ok
test diesel/src/query_builder/has_query.rs - query_builder::has_query::HasQuery (line 27) ... ok
test diesel/src/query_builder/insert_statement/mod.rs - query_builder::insert_statement::IncompleteInsertStatement<T,Op>::default_values (line 68) ... ok
test diesel/src/query_builder/insert_statement/mod.rs - query_builder::insert_statement::InsertStatement<T,U,Op>::returning (line 282) ... ok
test diesel/src/query_builder/mod.rs - query_builder::debug_query (line 394) ... ok
test diesel/src/query_builder/sql_query.rs - query_builder::sql_query::SqlQuery<Inner>::bind (line 47) ... ok
test diesel/src/query_builder/sql_query.rs - query_builder::sql_query::SqlQuery<Inner>::into_boxed (line 91) ... ok
---
test diesel/src/sqlite/connection/mod.rs - sqlite::connection::SqliteConnection (line 96) - compile fail ... ok
test diesel/src/sqlite/connection/mod.rs - sqlite::connection::SqliteConnection::immediate_transaction (line 325) ... ok
test diesel/src/sqlite/connection/mod.rs - sqlite::connection::SqliteConnection::exclusive_transaction (line 354) ... ok
test diesel/src/sqlite/connection/mod.rs - sqlite::connection::SqliteConnection::register_collation (line 500) ... ok
test diesel/src/sqlite/expression/expression_methods.rs - sqlite::expression::expression_methods::SqliteAnyJsonExpressionMethods::retrieve_as_object_sqlite (line 107) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json (line 24) ... ok
test diesel/src/sqlite/expression/expression_methods.rs - sqlite::expression::expression_methods::SqliteExpressionMethods::is (line 27) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_array_0 (line 1385) ... ok
test diesel/src/sqlite/expression/expression_methods.rs - sqlite::expression::expression_methods::SqliteExpressionMethods::is_not (line 62) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_array_1 (line 1385) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_array_2 (line 1385) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_array_length (line 109) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_array_length_with_path (line 176) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_error_position (line 253) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_group_array (line 931) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_group_array (line 967) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_group_object (line 1203) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_group_object (line 1230) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_object_0 (line 1094) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_object_2 (line 1094) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_object_1 (line 1094) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_pretty (line 342) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_patch (line 1627) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_quote (line 872) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_pretty_with_indentation (line 472) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_remove_0 (line 1489) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_remove_1 (line 1489) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_type (line 755) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_remove_2 (line 1489) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_valid (line 633) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_type_with_path (line 802) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::json_valid_with_flags (line 693) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb (line 65) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_array_0 (line 1437) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_array_1 (line 1437) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_array_2 (line 1437) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_group_array (line 1010) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_group_array (line 1047) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_group_object (line 1296) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_group_object (line 1323) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_object_0 (line 1146) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_object_1 (line 1146) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_object_2 (line 1146) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_remove_0 (line 1563) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_patch (line 1707) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_remove_1 (line 1563) ... ok
test diesel/src/sqlite/expression/functions.rs - sqlite::expression::functions::jsonb_remove_2 (line 1563) ... ok
test diesel/src/upsert/on_conflict_extension.rs - upsert::on_conflict_extension::IncompleteOnConflict<Stmt,Target>::do_update (line 431) ... ok
test diesel/src/upsert/on_conflict_extension.rs - upsert::on_conflict_extension::IncompleteOnConflict<Stmt,Target>::do_update (line 383) ... ok
test diesel/src/upsert/on_conflict_extension.rs - upsert::on_conflict_extension::IncompleteOnConflict<Stmt,Target>::do_update (line 517) ... ok
test diesel/src/upsert/on_conflict_extension.rs - upsert::on_conflict_extension::IncompleteOnConflict<Stmt,Target>::do_update (line 557) ... ok
test diesel/src/upsert/on_conflict_extension.rs - upsert::on_conflict_extension::IncompleteOnConflict<Stmt,Target>::do_update (line 475) ... ok
---
    SUCCESS for generator 'f64 subnormal'. 4194305/4194305 passed in 85.520681145s
30/30 tests succeeded in 112.059434837s (30 passed, 0 failed, 0 stopped)
[TIMING:end] test::TestFloatParse { build_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu } -- 144.301
Build completed successfully in 1:01:17
# The build-std suite is off by default because it is uncommonly slow
# and memory-hungry.
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.11s
##[endgroup]
warning: failed to connect to jobserver from environment variable `MAKEFLAGS=" -j4 --jobserver-auth=3,4"`: cannot open file descriptor 3 from the jobserver environment variable value: Bad file descriptor (os error 9)
  |
---
test num::bignum::test_ord ... ok
test num::bignum::test_sub ... ok
test num::bignum::test_sub_underflow_1 ... ok
test num::bignum::test_sub_underflow_2 ... ok
test num::carryless_mul::carrying_carryless_mul ... ok
test num::carryless_mul::carryless_mul_u128 ... ok
test num::carryless_mul::carryless_mul_u16 ... ok
test num::carryless_mul::carryless_mul_u32 ... ok
test num::carryless_mul::carryless_mul_u64 ... ok
test num::carryless_mul::carryless_mul_u8 ... ok
test num::carryless_mul::widening_carryless_mul ... ok
test num::const_from::from ... ok
test num::dec2flt::decimal::check_fast_path_f16 ... ok
test num::dec2flt::decimal::check_fast_path_f32 ... ok
test num::dec2flt::decimal::check_fast_path_f64 ... ok
test num::dec2flt::decimal_seq::test_parse ... ok
---
test time::div ... ok
test time::div_duration_f32 ... ok
test time::div_duration_f64 ... ok
test time::duration_const ... ok
test time::duration_fp_boundaries ... ok
test time::duration_fp_div_nan ... ok
test time::duration_fp_div_negative ... ok
test time::duration_fp_div_negzero ... ok
test time::duration_fp_div_overflow ... ok
test time::duration_fp_div_poszero ... ok
test time::duration_fp_mul_nan ... ok
test time::duration_fp_mul_negative ... ok
test time::duration_fp_mul_neginfinity ... ok
test time::duration_fp_mul_overflow ... ok
test time::duration_fp_mul_posinfinity ... ok
test time::from_days_overflow ... ok
test time::from_hours_overflow ... ok
test time::from_mins_overflow ... ok
test time::from_nanos_u128_overflow ... ok
test time::from_neg_zero ... ok
---
   3: mpsc::stress_recv_timeout_two_threads
             at library/std/tests/sync/mpsc.rs:457:5
   4: mpsc::stress_recv_timeout_two_threads::{closure#0}
             at library/std/tests/sync/mpsc.rs:426:37
   5: <{closure@library/std/tests/sync/mpsc.rs:426:1: 458:2} as std::ops::FnOnce<()>>::call_once - shim
             at /checkout/library/core/src/ops/function.rs:250:5
   6: <fn() -> std::result::Result<(), std::string::String> as std::ops::FnOnce<()>>::call_once - shim(fn() -> std::result::Result<(), std::string::String>)
             at /checkout/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
---- mpsc::stress_recv_timeout_two_threads stdout end ----
---

error: test failed, to rerun pass `-p std --test sync`
Bootstrap failed while executing `miri --stage 2 library/std -- --skip fs:: --skip net:: --skip process:: --skip sys::`
Build completed unsuccessfully in 0:14:27
make: *** [Makefile:61: check-aux] Error 1
  local time: Sat Mar  7 09:24:18 UTC 2026
  network time: Sat, 07 Mar 2026 09:24:18 GMT
##[error]Process completed with exit code 2.
##[group]Run echo "disk usage:"
echo "disk usage:"

@Zalathar
Copy link
Member Author

Zalathar commented Mar 7, 2026

@bors retry

@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 Mar 7, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 7, 2026
Get rid of `QueryVTable::call_query_method_fn`



Calling the query method to promote a value is equivalent to doing a cache lookup and then calling `execute_query_fn`, so we can just do that manually instead.

There are two “functional” differences here: If a cache hit occurs, we don't record the hit for self-profiling, and we don't register a read of the dep node. In the context of promotion, which touches *all* eligible cache entries just before writing the memory-cached values to disk, those two steps should be unnecessary overhead anyway.

r? nnethercote (or compiler)
@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 Mar 7, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

💔 Test for 23fc7dc failed: CI. Failed job:

@Zalathar
Copy link
Member Author

Zalathar commented Mar 7, 2026

@bors retry (network errors)

@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 Mar 7, 2026
@rust-bors

This comment has been minimized.

@rust-log-analyzer
Copy link
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)
/dev/sda15      105M  6.2M   99M   6% /boot/efi
tmpfs           1.6G   12K  1.6G   1% /run/user/1001
================================================================================

Sufficient disk space available (94882404KB >= 52428800KB). Skipping cleanup.
##[group]Run src/ci/scripts/setup-environment.sh
src/ci/scripts/setup-environment.sh
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}

@rust-bors rust-bors bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 7, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Mar 7, 2026

☀️ Test successful - CI
Approved by: nnethercote
Duration: 3h 8m 51s
Pushing 085c58f to main...

@rust-bors rust-bors bot merged commit 085c58f into rust-lang:main Mar 7, 2026
12 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 7, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2026

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 ea5573a (parent) -> 085c58f (this PR)

Test differences

Show 2 test diffs

2 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 085c58f2c0c7db692a2eaf2b8970ff474eed9183 --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. pr-check-2: 46m 36s -> 35m 57s (-22.8%)
  2. aarch64-apple: 3h 36m -> 3h 2m (-15.9%)
  3. x86_64-gnu-aux: 2h 20m -> 1h 58m (-15.2%)
  4. pr-check-1: 33m 39s -> 28m 35s (-15.1%)
  5. x86_64-rust-for-linux: 53m -> 45m 8s (-14.8%)
  6. i686-gnu-2: 1h 43m -> 1h 28m (-14.6%)
  7. aarch64-gnu-llvm-20-2: 52m 24s -> 44m 58s (-14.2%)
  8. x86_64-gnu-gcc: 1h 10m -> 1h (-14.1%)
  9. aarch64-msvc-2: 1h 52m -> 1h 37m (-12.9%)
  10. i686-gnu-1: 2h 22m -> 2h 6m (-11.4%)
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
Collaborator

Finished benchmarking commit (085c58f): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.3%, -0.2%] 15
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 5
All ❌✅ (primary) -0.3% [-0.3%, -0.2%] 15

Max RSS (memory usage)

Results (primary 2.4%, secondary 6.3%)

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

mean range count
Regressions ❌
(primary)
2.4% [2.4%, 2.5%] 2
Regressions ❌
(secondary)
6.3% [6.3%, 6.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.4% [2.4%, 2.5%] 2

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

Results (primary 0.1%, secondary 0.1%)

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

mean range count
Regressions ❌
(primary)
0.1% [0.1%, 0.1%] 1
Regressions ❌
(secondary)
0.1% [0.1%, 0.2%] 9
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.1%, 0.1%] 1

Bootstrap: 480.191s -> 478.289s (-0.40%)
Artifact size: 395.10 MiB -> 395.07 MiB (-0.01%)

@Zalathar Zalathar deleted the call-query branch March 7, 2026 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants