Skip to content

Remap syntax contexts and expansion ids for det. metadata encoding - #163668

Draft
aerooneqq wants to merge 4 commits into
rust-lang:mainfrom
aerooneqq:syntax-contexts-and-expansions-ids-remapping
Draft

aerooneqq wants to merge 4 commits into
rust-lang:mainfrom
aerooneqq:syntax-contexts-and-expansions-ids-remapping

Conversation

@aerooneqq

@aerooneqq aerooneqq commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

#163495 which parallelizes AST -> HIR lowering breaks det. encoding of syntax contexts and expansions, however this PR with #162809 should fix the problem.

Now draft for perf and CI (dont look at the code). Remapping of those entities can cost us much, because unlike def ids there may be many expansions and contexts after we committed end of determinism.

r? @petrochenkov

@rustbot rustbot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Oct 2, 2026
@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Oct 2, 2026
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 2, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 2, 2026
…remapping, r=<try>

Remap syntax contexts and expansion ids for det. metadata encoding
@rust-bors

This comment has been minimized.

@aerooneqq
aerooneqq force-pushed the syntax-contexts-and-expansions-ids-remapping branch from 4195a79 to 46ee492 Compare October 2, 2026 15:57
@petrochenkov

Copy link
Copy Markdown
Contributor

@bors try cancel

@rust-bors

rust-bors Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Try build cancelled. Cancelled workflows:

Hint: if you want to run another try build, you do not need to manually cancel the previous one. Just run @bors try and bors will cancel the previous build automatically.

@petrochenkov

Copy link
Copy Markdown
Contributor

@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 Oct 2, 2026
…remapping, r=<try>

Remap syntax contexts and expansion ids for det. metadata encoding
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 19b2816 failed: CI. Failed jobs:

@aerooneqq
aerooneqq force-pushed the syntax-contexts-and-expansions-ids-remapping branch from 46ee492 to 07a0f64 Compare October 5, 2026 14:30
@aerooneqq
aerooneqq force-pushed the syntax-contexts-and-expansions-ids-remapping branch from 07a0f64 to 43e622c Compare October 5, 2026 14:34
@aerooneqq

Copy link
Copy Markdown
Contributor Author

@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 Oct 5, 2026
…remapping, r=<try>

Remap syntax contexts and expansion ids for det. metadata encoding
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-x86_64-gnu-next-trait-solver-polonius failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
+   --> $DIR/unused-target-expr-in-glob-or-list.rs:107:49
+    |
+ LL |     macro_rules! delegation {
+ ...
+ LL |                 reuse <F as Trait>::static_self { self.0 }
+    |                                                 ^^^^^^^^^^
+ ...
+ LL |     delegation!();
+    |     ------------- in this macro invocation
+ 
+ error: delegation's target expression is specified for function with no params
+   --> $DIR/unused-target-expr-in-glob-or-list.rs:127:45
+    |
+ LL |     macro_rules! delegation2 {
+ LL |         () => {
+ LL |             reuse <F as Trait>::static_self { self.0 }
+    |                                             ^^^^^^^^^^
+ ...
+ LL |         delegation2!();
+    |         -------------- in this macro invocation
+ 
+ error: delegation's target expression is specified for function with no params
8   --> $DIR/unused-target-expr-in-glob-or-list.rs:154:45
9    |
10 LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }

53    |                                                 ^^^^^^^^^
54    |
55    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
- 
- error: delegation's target expression is specified for function with no params
-   --> $DIR/unused-target-expr-in-glob-or-list.rs:107:49
-    |
- LL |     macro_rules! delegation {
- ...
- LL |                 reuse <F as Trait>::static_self { self.0 }
-    |                                                 ^^^^^^^^^^
- ...
- LL |     delegation!();
-    |     ------------- in this macro invocation
- 
- error: delegation's target expression is specified for function with no params
-   --> $DIR/unused-target-expr-in-glob-or-list.rs:127:45
-    |
- LL |     macro_rules! delegation2 {
- LL |         () => {
- LL |             reuse <F as Trait>::static_self { self.0 }
-    |                                             ^^^^^^^^^^
- ...
- LL |         delegation2!();
-    |         -------------- in this macro invocation
78 
---
+   --> $DIR/unused-target-expr-in-glob-or-list.rs:107:49
+    |
+ LL |     macro_rules! delegation {
+ ...
+ LL |                 reuse <F as Trait>::static_self { self.0 }
+    |                                                 ^^^^^^^^^^
+ ...
+ LL |     delegation!();
+    |     ------------- in this macro invocation
+ 
+ error: delegation's target expression is specified for function with no params
+   --> $DIR/unused-target-expr-in-glob-or-list.rs:127:45
+    |
+ LL |     macro_rules! delegation2 {
+ LL |         () => {
+ LL |             reuse <F as Trait>::static_self { self.0 }
+    |                                             ^^^^^^^^^^
+ ...
+ LL |         delegation2!();
+    |         -------------- in this macro invocation
+ 
---
To only update this specific test, also pass `--test-args delegation/unused-target-expr-in-glob-or-list.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/delegation/unused-target-expr-in-glob-or-list" "-Znext-solver=coherence" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2015"
stdout: none
--- stderr -------------------------------
error[E0433]: cannot find type `UnresolvedTrait` in this scope
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:55:11
   |
LL |     reuse UnresolvedTrait::* { self.0 }
   |           ^^^^^^^^^^^^^^^ use of undeclared type `UnresolvedTrait`

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:107:49
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_self { self.0 }
   |                                                 ^^^^^^^^^^
...
LL |     delegation!();
   |     ------------- in this macro invocation

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:127:45
   |
LL |     macro_rules! delegation2 {
LL |         () => {
LL |             reuse <F as Trait>::static_self { self.0 }
   |                                             ^^^^^^^^^^
...
LL |         delegation2!();
   |         -------------- in this macro invocation

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:45
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                                             ^^^^^^

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:45
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                                             ^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:45
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                                             ^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:165:39
   |
LL |     reuse to_reuse::{value as value2} { }
   |                                       ^^^

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:49
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                                 ^^^^^^^^^

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:49
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                                 ^^^^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: delegation's target expression is specified for function with no params
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:49
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                                 ^^^^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:18:25
   |
LL |     reuse <F as Trait>::* { self.0 }
   |                         ^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:24:25
   |
LL |     reuse <F as Trait>::* { self.0 }
   |                         ^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:30:26
   |
LL |     reuse <F as Trait>::{static_self} { self.0 }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:36:26
   |
LL |     reuse <F as Trait>::{static_self, static_value} { self.0 }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:42:26
   |
LL |     reuse <F as Trait>::{static_self, static_value, static_mut_ref, static_ref} { self.0 }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:48:26
   |
LL |     reuse <F as Trait>::{static_self, static_value, static_mut_ref, static_ref} { }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:66:26
   |
LL |     reuse <F as Trait>::{static_self, static_self2} { { F } }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:72:26
   |
LL |     reuse <F as Trait>::{static_self, static_self2} { { F } }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:75:26
   |
LL |     reuse <F as Trait>::{static_value, static_mut_ref, static_ref} { }
   |                          ^^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:80:26
   |
LL |     reuse <F as Trait>::{static_self, static_self2} { { F } }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:83:26
   |
LL |     reuse <F as Trait>::{static_value, static_mut_ref} { }
   |                          ^^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:92:26
   |
LL |     reuse <F as Trait>::{static_self, static_self2} { { F } }
   |                          ^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:95:26
   |
LL |     reuse <F as Trait>::{static_value, static_mut_ref} { }
   |                          ^^^^^^^^^^^^

error: unused target expression is specified for glob or list delegation
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:189:26
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                          ^^^^^

error[E0053]: method `static_self` has an incompatible type for trait
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:107:37
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_self { self.0 }
   |                                     ^^^^^^^^^^^ expected `F`, found `()`
...
LL |     delegation!();
   |     ------------- in this macro invocation
   |
---
   = note: expected signature `fn() -> F`
              found signature `fn() -> ()`
help: change the output type to match the trait
   |
LL -                 reuse <F as Trait>::static_self { self.0 }
LL +                 reuse <F as Trait>:: -> F { self.0 }
   |

error[E0053]: method `static_self` has an incompatible type for trait
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:127:33
   |
LL |     macro_rules! delegation2 {
LL |         () => {
LL |             reuse <F as Trait>::static_self { self.0 }
   |                                 ^^^^^^^^^^^ expected `F`, found `()`
...
LL |         delegation2!();
   |         -------------- in this macro invocation
   |
---
   = note: expected signature `fn() -> F`
              found signature `fn() -> ()`
help: change the output type to match the trait
   |
LL -             reuse <F as Trait>::static_self { self.0 }
LL +             reuse <F as Trait>:: -> F { self.0 }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:107:37
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_self { self.0 }
   |                                     ^^^^^^^^^^^ ---------- unexpected argument
...
LL |     delegation!();
   |     ------------- in this macro invocation
   |
note: associated function defined here
---
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:107:37
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_self { self.0 }
   |                                     ^^^^^^^^^^^- help: consider using a semicolon here: `;`
   |                                     |
   |                                     expected `()`, found `F`
   |                                     expected `()` because of default return type
...
LL |     delegation!();
   |     ------------- in this macro invocation

error[E0609]: no field `0` on type `F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:112:57
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_value { self.0 }
   |                                                         ^ unknown field
...
LL |     delegation!();
   |     ------------- in this macro invocation

error[E0609]: no field `0` on type `&mut F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:114:59
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_mut_ref { self.0 }
   |                                                           ^ unknown field
...
LL |     delegation!();
   |     ------------- in this macro invocation

error[E0609]: no field `0` on type `&F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:116:55
   |
LL |     macro_rules! delegation {
...
LL |                 reuse <F as Trait>::static_ref { self.0 }
   |                                                       ^ unknown field
...
LL |     delegation!();
   |     ------------- in this macro invocation

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:127:33
   |
LL |     macro_rules! delegation2 {
LL |         () => {
LL |             reuse <F as Trait>::static_self { self.0 }
   |                                 ^^^^^^^^^^^ ---------- unexpected argument
...
LL |         delegation2!();
   |         -------------- in this macro invocation
   |
note: associated function defined here
---
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:127:33
   |
LL |     macro_rules! delegation2 {
LL |         () => {
LL |             reuse <F as Trait>::static_self { self.0 }
   |                                 ^^^^^^^^^^^- help: consider using a semicolon here: `;`
   |                                 |
   |                                 expected `()`, found `F`
   |                                 expected `()` because of default return type
...
LL |         delegation2!();
   |         -------------- in this macro invocation

error[E0609]: no field `0` on type `F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:132:53
   |
LL |     macro_rules! delegation2 {
...
LL |             reuse <F as Trait>::static_value { self.0 }
   |                                                     ^ unknown field
...
LL |         delegation2!();
   |         -------------- in this macro invocation

error[E0609]: no field `0` on type `&mut F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:134:55
   |
LL |     macro_rules! delegation2 {
...
LL |             reuse <F as Trait>::static_mut_ref { self.0 }
   |                                                       ^ unknown field
...
LL |         delegation2!();
   |         -------------- in this macro invocation

error[E0609]: no field `0` on type `&F`
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:136:51
   |
LL |     macro_rules! delegation2 {
...
LL |             reuse <F as Trait>::static_ref { self.0 }
   |                                                   ^ unknown field
...
LL |         delegation2!();
   |         -------------- in this macro invocation

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:22
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                      ^^^^^                  ------ unexpected argument of type `()`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:149:16
   |
LL |         pub fn value() -> i32 { 1 }
   |                ^^^^^
help: remove the extra argument
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{valu{ () }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:22
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                      ^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |     reuse to_reuse::{value;, mut_ref, r#ref} { () }
   |                           +
help: try adding a return type
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{ -> i32, mut_ref, r#ref} { () }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:29
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                             ^^^^^^^         ------ unexpected argument of type `()`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:150:16
   |
LL |         pub fn mut_ref() -> i32 { 2 }
   |                ^^^^^^^
help: remove the extra argument
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{value, mut_re{ () }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:29
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                             ^^^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |     reuse to_reuse::{value, mut_ref;, r#ref} { () }
   |                                    +
help: try adding a return type
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{value,  -> i32, r#ref} { () }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:38
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                                      ^^^^^  ------ unexpected argument of type `()`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:151:16
   |
LL |         pub fn r#ref() -> i32 { 3 }
   |                ^^^^^
help: remove the extra argument
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{value, mut_ref, r#re{ () }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:154:38
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref} { () }
   |                                      ^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |     reuse to_reuse::{value, mut_ref, r#ref;} { () }
   |                                           +
help: try adding a return type
   |
LL -     reuse to_reuse::{value, mut_ref, r#ref} { () }
LL +     reuse to_reuse::{value, mut_ref,  -> i32} { () }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:165:22
   |
LL |     reuse to_reuse::{value as value2} { }
   |                      ^^^^^            --- unexpected argument of type `()`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:149:16
   |
LL |         pub fn value() -> i32 { 1 }
   |                ^^^^^
help: remove the extra argument
   |
LL -     reuse to_reuse::{value as value2} { }
LL +     reuse to_reuse::{valu{ }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:165:22
   |
LL |     reuse to_reuse::{value as value2} { }
   |                      ^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |     reuse to_reuse::{value; as value2} { }
   |                           +
help: try adding a return type
   |
LL -     reuse to_reuse::{value as value2} { }
LL +     reuse to_reuse::{ -> i32 as value2} { }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:26
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                          ^^^^^                  --------- unexpected argument of type `{integer}`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:179:16
   |
LL |         pub fn value() -> i32 { 1 }
   |                ^^^^^
help: remove the extra argument
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{valu{ 1 + 1 }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:26
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                          ^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |         reuse to_reuse::{value;, mut_ref, r#ref} { 1 + 1 }
   |                               +
help: try adding a return type
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{ -> i32, mut_ref, r#ref} { 1 + 1 }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:33
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                 ^^^^^^^         --------- unexpected argument of type `{integer}`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:180:16
   |
LL |         pub fn mut_ref() -> i32 { 2 }
   |                ^^^^^^^
help: remove the extra argument
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{value, mut_re{ 1 + 1 }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:33
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                 ^^^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |         reuse to_reuse::{value, mut_ref;, r#ref} { 1 + 1 }
   |                                        +
help: try adding a return type
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{value,  -> i32, r#ref} { 1 + 1 }
   |

error[E0061]: this function takes 0 arguments but 1 argument was supplied
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:42
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                          ^^^^^  --------- unexpected argument of type `{integer}`
   |
note: function defined here
  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:181:16
   |
LL |         pub fn r#ref() -> i32 { 3 }
   |                ^^^^^
help: remove the extra argument
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{value, mut_ref, r#re{ 1 + 1 }
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/delegation/unused-target-expr-in-glob-or-list.rs:195:42
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
   |                                          ^^^^^ expected `()`, found `i32`
   |
help: consider using a semicolon here
   |
LL |         reuse to_reuse::{value, mut_ref, r#ref;} { 1 + 1 }
   |                                               +
help: try adding a return type
   |
LL -         reuse to_reuse::{value, mut_ref, r#ref} { 1 + 1 }
LL +         reuse to_reuse::{value, mut_ref,  -> i32} { 1 + 1 }
   |

error: aborting due to 50 previous errors

Some errors have detailed explanations: E0053, E0061, E0308, E0433, E0609.

Important

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

@rust-bors

rust-bors Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: a7c6732 (a7c67326654d086b506b6f55d82af110f520b88b)
Base parent: 602727f (602727f26878dcf9eb2999e2f58e5df1269ff47e)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (a7c6732): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=never rustc-perf
@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.7% [0.3%, 1.2%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.2% [-1.2%, -0.1%] 57
Improvements ✅
(secondary)
-0.3% [-0.7%, -0.1%] 28
All ❌✅ (primary) -0.1% [-1.2%, 1.2%] 64

Max RSS (memory usage)

Results (primary -2.9%, secondary -1.7%)

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

mean range count
Regressions ❌
(primary)
3.1% [3.1%, 3.1%] 1
Regressions ❌
(secondary)
2.6% [1.6%, 6.6%] 9
Improvements ✅
(primary)
-3.0% [-8.3%, -0.9%] 112
Improvements ✅
(secondary)
-3.1% [-5.4%, -1.2%] 29
All ❌✅ (primary) -2.9% [-8.3%, 3.1%] 113

Cycles

Results (primary 11.8%, secondary 2.4%)

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

mean range count
Regressions ❌
(primary)
11.8% [2.3%, 27.3%] 15
Regressions ❌
(secondary)
3.8% [3.0%, 4.5%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.4% [-4.4%, -4.4%] 1
All ❌✅ (primary) 11.8% [2.3%, 27.3%] 15

Binary size

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

Bootstrap: 490.152s -> 495.841s (1.16%)
Artifact size: 408.63 MiB -> 408.61 MiB (-0.00%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Oct 5, 2026

This branch has not been deployed

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

Labels

perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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