Skip to content

Conversation

@scottmcm
Copy link
Member

We're already paying for the extra look at stuff, what if we add a second attribute for things that we always want to inline, but are also fine with generic calls not getting inlined? Can we save a bunch of code and functions calls in derived Ords and such? Is it worth the extra overhead of normalizing more calls?

r? ghost

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jul 26, 2025
@scottmcm

This comment was marked as outdated.

@rust-timer

This comment was marked as outdated.

@rust-bors

This comment was marked as outdated.

rust-bors bot added a commit that referenced this pull request Jul 26, 2025
EXPERIMENT: Use the force-inline pass for more stuff
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 26, 2025
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors

This comment was marked as outdated.

@scottmcm
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Jul 26, 2025
EXPERIMENT: Use the force-inline pass for more stuff
@rust-bors
Copy link

rust-bors bot commented Jul 26, 2025

⌛ Trying commit e9fcbb2 with merge 5a3178f

To cancel the try build, run the command @bors try cancel.

@rust-bors
Copy link

rust-bors bot commented Jul 26, 2025

☀️ Try build successful (CI)
Build commit: 5a3178f (5a3178fa03ad01debfab17b1253662bc45c95eb9, parent: f32b23204a0efe2fe8383ed4be1a30b56c1bbf94)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (5a3178f): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

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.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@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.9% [0.1%, 3.2%] 93
Regressions ❌
(secondary)
1.0% [0.1%, 5.2%] 73
Improvements ✅
(primary)
-0.8% [-2.6%, -0.1%] 5
Improvements ✅
(secondary)
-0.1% [-0.2%, -0.1%] 2
All ❌✅ (primary) 0.8% [-2.6%, 3.2%] 98

Max RSS (memory usage)

Results (primary 1.8%, secondary 0.3%)

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

mean range count
Regressions ❌
(primary)
2.3% [0.6%, 6.2%] 23
Regressions ❌
(secondary)
3.8% [1.1%, 6.5%] 2
Improvements ✅
(primary)
-3.6% [-6.3%, -0.9%] 2
Improvements ✅
(secondary)
-1.5% [-2.2%, -0.7%] 4
All ❌✅ (primary) 1.8% [-6.3%, 6.2%] 25

Cycles

Results (primary 2.3%, secondary 2.8%)

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

mean range count
Regressions ❌
(primary)
2.7% [2.2%, 3.7%] 12
Regressions ❌
(secondary)
2.8% [1.5%, 4.4%] 12
Improvements ✅
(primary)
-1.9% [-1.9%, -1.9%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.3% [-1.9%, 3.7%] 13

Binary size

Results (primary 1.3%, secondary 0.9%)

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

mean range count
Regressions ❌
(primary)
1.4% [0.0%, 8.5%] 96
Regressions ❌
(secondary)
1.0% [0.1%, 2.4%] 21
Improvements ✅
(primary)
-0.2% [-0.2%, -0.0%] 4
Improvements ✅
(secondary)
-0.1% [-0.3%, -0.0%] 4
All ❌✅ (primary) 1.3% [-0.2%, 8.5%] 100

Bootstrap: 467.999s -> 468.02s (0.00%)
Artifact size: 376.62 MiB -> 376.79 MiB (0.05%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 26, 2025
@bors
Copy link
Collaborator

bors commented Jul 26, 2025

☔ The latest upstream changes (presumably #144502) made this pull request unmergeable. Please resolve the merge conflicts.

@scottmcm
Copy link
Member Author

Hmm, yeah, way too many new resolve calls to work. Ah well, interesting to know.

@scottmcm scottmcm closed this Jul 26, 2025
@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 Jul 26, 2025
@scottmcm scottmcm reopened this Aug 4, 2025
@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 Aug 4, 2025
@scottmcm
Copy link
Member Author

scottmcm commented Aug 4, 2025

I was inspired by https://discord.com/channels/273534239310479360/957720175619215380/1401622766536364124 to see if I can do a more limited version of this that would still work.

@scottmcm scottmcm force-pushed the early-inline branch 2 times, most recently from 4e11683 to a6adf2d Compare August 4, 2025 02:45
@scottmcm
Copy link
Member Author

scottmcm commented Aug 4, 2025

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Aug 4, 2025

⌛ Trying commit a6adf2d with merge f4b36c8

To cancel the try build, run the command @bors try cancel.

rust-bors bot added a commit that referenced this pull request Aug 4, 2025
EXPERIMENT: Use the force-inline pass for more stuff
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 4, 2025
@rust-log-analyzer

This comment has been minimized.

Zalathar added a commit to Zalathar/rust that referenced this pull request Aug 4, 2025
Add some pre-codegen MIR tests for debug mode No functional changes; just some tests. I made these for rust-lang#144483, but that's going in a different direction, so I wanted to propose we just add them to help see the impact of other related changes in the future. r? mir
Zalathar added a commit to Zalathar/rust that referenced this pull request Aug 4, 2025
Add some pre-codegen MIR tests for debug mode No functional changes; just some tests. I made these for rust-lang#144483, but that's going in a different direction, so I wanted to propose we just add them to help see the impact of other related changes in the future. r? mir
@rust-bors
Copy link

rust-bors bot commented Aug 4, 2025

☀️ Try build successful (CI)
Build commit: f4b36c8 (f4b36c8b56f988af2e104136c467ff4a28a21216, parent: 383b9c447b61641e1f1a3850253944a897a60827)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (f4b36c8): comparison URL.

Overall result: ❌ regressions - please read the text below

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.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@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.8% [0.1%, 1.0%] 7
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.7%, secondary -2.1%)

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

mean range count
Regressions ❌
(primary)
1.7% [0.9%, 2.4%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-5.4% [-7.4%, -3.4%] 2
Improvements ✅
(secondary)
-2.1% [-3.1%, -0.8%] 4
All ❌✅ (primary) -0.7% [-7.4%, 2.4%] 6

Cycles

Results (secondary -4.7%)

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

Binary size

Results (primary -0.0%)

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

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

Bootstrap: 468.859s -> 468.747s (-0.02%)
Artifact size: 376.98 MiB -> 377.03 MiB (0.01%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 4, 2025
rust-timer added a commit that referenced this pull request Aug 4, 2025
Rollup merge of #144875 - scottmcm:more-mir-tests, r=cjgillot Add some pre-codegen MIR tests for debug mode No functional changes; just some tests. I made these for #144483, but that's going in a different direction, so I wanted to propose we just add them to help see the impact of other related changes in the future. r? mir
…ther than `always`) Obviously there's way more that could do this, but I don't to do *all* of them at once.
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-19-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
 Compiling crypto-common v0.1.6 [RUSTC-TIMING] block_buffer test:false 0.185 [RUSTC-TIMING] crypto_common test:false 0.142 Compiling psm v0.1.26 error: internal compiler error: compiler/rustc_mir_transform/src/validate.rs:80:25: broken MIR in FnPtrShim(DefId(2:3945 ~ core[78ea]::ops::function::FnOnce::call_once), FnDef(DefId(3:682 ~ alloc[65b5]::boxed::{impl#0}::new), [ty::Type])) (after phase change to runtime-optimized) at bb1[1]: Alias(Projection, AliasTy { args: [FnDef(DefId(3:682 ~ alloc[65b5]::boxed::{impl#0}::new), [ty::Type]), (ty::Type,)], def_id: DefId(2:3944 ~ core[78ea]::ops::function::FnOnce::Output), .. }) does not have fields --> /checkout/library/alloc/src/boxed.rs:261:24 | 261 | return box_new(x); | ^ --- 9: 0xffaeb3a78cbc - std::panicking::default_hook::{{closure}}::haac60c33ad8953eb at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:300:27 10: 0xffaeb3a78b18 - std::panicking::default_hook::hfbe61bc0eb59097c at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:327:9 11: 0xffaeaff586c8 - <alloc[cf75e2ab30ac120f]::boxed::Box<rustc_driver_impl[f8dcd73e3f98802]::install_ice_hook::{closure#1}> as core[86de0986de23a55d]::ops::function::Fn<(&dyn for<'a, 'b> core[86de0986de23a55d]::ops::function::Fn<(&'a std[57c45f57ec3c24e5]::panic::PanicHookInfo<'b>,), Output = ()> + core[86de0986de23a55d]::marker::Sync + core[86de0986de23a55d]::marker::Send, &std[57c45f57ec3c24e5]::panic::PanicHookInfo)>>::call 12: 0xffaeb3a79730 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1caa90323394741e at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/alloc/src/boxed.rs:1980:9 13: 0xffaeb3a79730 - std::panicking::rust_panic_with_hook::h448ca412e27acd2b at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:841:13 14: 0xffaeb36845d8 - std[57c45f57ec3c24e5]::panicking::begin_panic::<rustc_errors[c4fdaa21ad111aa4]::ExplicitBug>::{closure#0} 15: 0xffaeb368459c - std[57c45f57ec3c24e5]::sys::backtrace::__rust_end_short_backtrace::<std[57c45f57ec3c24e5]::panicking::begin_panic<rustc_errors[c4fdaa21ad111aa4]::ExplicitBug>::{closure#0}, !> 16: 0xffaeafe57c80 - std[57c45f57ec3c24e5]::panicking::begin_panic::<rustc_errors[c4fdaa21ad111aa4]::ExplicitBug> 17: 0xffaeafe5dc88 - <rustc_errors[c4fdaa21ad111aa4]::diagnostic::BugAbort as rustc_errors[c4fdaa21ad111aa4]::diagnostic::EmissionGuarantee>::emit_producing_guarantee 18: 0xffaeb34219f4 - <rustc_errors[c4fdaa21ad111aa4]::DiagCtxtHandle>::span_bug::<rustc_span[41a6e2c377868cd4]::span_encoding::Span, alloc[cf75e2ab30ac120f]::string::String> 19: 0xffaeb343cc88 - rustc_middle[9bffbefec4c2d3c6]::util::bug::opt_span_bug_fmt::<rustc_span[41a6e2c377868cd4]::span_encoding::Span>::{closure#0} 20: 0xffaeb342f7ac - rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::with_opt::<rustc_middle[9bffbefec4c2d3c6]::util::bug::opt_span_bug_fmt<rustc_span[41a6e2c377868cd4]::span_encoding::Span>::{closure#0}, !>::{closure#0} 21: 0xffaeb342f768 - rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::with_context_opt::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::with_opt<rustc_middle[9bffbefec4c2d3c6]::util::bug::opt_span_bug_fmt<rustc_span[41a6e2c377868cd4]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !> 22: 0xffaeafe47604 - rustc_middle[9bffbefec4c2d3c6]::util::bug::span_bug_fmt::<rustc_span[41a6e2c377868cd4]::span_encoding::Span> 23: 0xffaeb0fc22bc - <rustc_mir_transform[8ae3d3c636c4d037]::validate::CfgChecker>::fail::<alloc[cf75e2ab30ac120f]::string::String> 24: 0xffaeb0fc1c58 - <rustc_mir_transform[8ae3d3c636c4d037]::validate::Validator as rustc_mir_transform[8ae3d3c636c4d037]::pass_manager::MirPass>::run_pass 25: 0xffaeb0f2562c - rustc_mir_transform[8ae3d3c636c4d037]::pass_manager::run_passes_inner 26: 0xffaeb0dc8360 - rustc_mir_transform[8ae3d3c636c4d037]::shim::make_shim 27: 0xffaeb22f5584 - rustc_query_impl[6c9b933e04a41676]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6c9b933e04a41676]::query_impl::mir_shims::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 8usize]>> 28: 0xffaeb223e804 - <rustc_query_impl[6c9b933e04a41676]::query_impl::mir_shims::dynamic_query::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, rustc_middle[9bffbefec4c2d3c6]::ty::instance::InstanceKind)>>::call_once 29: 0xffaeb227f8b4 - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::execute_job_non_incr<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<(rustc_middle[9bffbefec4c2d3c6]::ty::predicate::Predicate, rustc_middle[9bffbefec4c2d3c6]::traits::WellFormedLoc), rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 8usize]>> 30: 0xffaeb217b9f4 - rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::try_execute_query::<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<rustc_middle[9bffbefec4c2d3c6]::ty::instance::InstanceKind, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt, false> 31: 0xffaeb240eb08 - rustc_query_impl[6c9b933e04a41676]::query_impl::mir_shims::get_query_non_incr::__rust_end_short_backtrace 32: 0xffaeb3371fd8 - <rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt>::instance_mir 33: 0xffaeb0ce39b8 - rustc_monomorphize[86dc333c50564ca]::mono_checks::check_mono_item 34: 0xffaeb22db144 - rustc_query_impl[6c9b933e04a41676]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6c9b933e04a41676]::query_impl::check_mono_item::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 0usize]>> 35: 0xffaeb21fa140 - <rustc_query_impl[6c9b933e04a41676]::query_impl::check_mono_item::dynamic_query::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance)>>::call_once 36: 0xffaeb227f938 - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::execute_job_non_incr<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 0usize]>> 37: 0xffaeb217d060 - rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::try_execute_query::<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt, false> 38: 0xffaeb243300c - rustc_query_impl[6c9b933e04a41676]::query_impl::check_mono_item::get_query_non_incr::__rust_end_short_backtrace 39: 0xffaeb0ca087c - rustc_monomorphize[86dc333c50564ca]::collector::items_of_instance 40: 0xffaeb22e0920 - rustc_query_impl[6c9b933e04a41676]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6c9b933e04a41676]::query_impl::items_of_instance::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 32usize]>> 41: 0xffaeb22084bc - <rustc_query_impl[6c9b933e04a41676]::query_impl::items_of_instance::dynamic_query::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, (rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance, rustc_middle[9bffbefec4c2d3c6]::mir::mono::CollectionMode))>>::call_once 42: 0xffaeb227f064 - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::execute_job_non_incr<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<(rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance, rustc_middle[9bffbefec4c2d3c6]::mir::mono::CollectionMode), rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 32usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 32usize]>>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 32usize]>> 43: 0xffaeb219875c - rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::try_execute_query::<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::DefaultCache<(rustc_middle[9bffbefec4c2d3c6]::ty::instance::Instance, rustc_middle[9bffbefec4c2d3c6]::mir::mono::CollectionMode), rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 32usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt, false> 44: 0xffaeb243357c - rustc_query_impl[6c9b933e04a41676]::query_impl::items_of_instance::get_query_non_incr::__rust_end_short_backtrace 45: 0xffaeb0ca2ef4 - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 46: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 47: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 48: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 49: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 50: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 51: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 52: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 53: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 54: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 55: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 56: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 57: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 58: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 59: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 60: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 61: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 62: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 63: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 64: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 65: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 66: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 67: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 68: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 69: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 70: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 71: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 72: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 73: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 74: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 75: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 76: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 77: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 78: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 79: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 80: 0xffaeb0ca299c - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_rec 81: 0xffaeb0c9a590 - rustc_monomorphize[86dc333c50564ca]::collector::collect_items_root 82: 0xffaeb0cca9a4 - <rustc_session[e164ea3d64afd4b1]::session::Session>::time::<(), rustc_monomorphize[86dc333c50564ca]::collector::collect_crate_mono_items::{closure#1}> 83: 0xffaeb0ca795c - rustc_monomorphize[86dc333c50564ca]::collector::collect_crate_mono_items 84: 0xffaeb0caf1e4 - rustc_monomorphize[86dc333c50564ca]::partitioning::collect_and_partition_mono_items 85: 0xffaeb22f13e4 - rustc_query_impl[6c9b933e04a41676]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6c9b933e04a41676]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 40usize]>> 86: 0xffaeb2234654 - <rustc_query_impl[6c9b933e04a41676]::query_impl::collect_and_partition_mono_items::dynamic_query::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, ())>>::call_once 87: 0xffaeb227e95c - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::execute_job_non_incr<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::SingleCache<rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 40usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 40usize]>>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 40usize]>> 88: 0xffaeb2144b68 - rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::try_execute_query::<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_query_system[ff5dd8c2f29163d8]::query::caches::SingleCache<rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 40usize]>>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt, false> 89: 0xffaeb242b61c - rustc_query_impl[6c9b933e04a41676]::query_impl::collect_and_partition_mono_items::get_query_non_incr::__rust_end_short_backtrace 90: 0xffaeb2591bf0 - rustc_codegen_ssa[3fe074c497e487d6]::back::symbol_export::exported_generic_symbols_provider_local 91: 0xffaeb22ec5b8 - rustc_query_impl[6c9b933e04a41676]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6c9b933e04a41676]::query_impl::exported_generic_symbols::dynamic_query::{closure#2}::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 16usize]>> 92: 0xffaeb2227130 - <rustc_query_impl[6c9b933e04a41676]::query_impl::exported_generic_symbols::dynamic_query::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, rustc_span[41a6e2c377868cd4]::def_id::CrateNum)>>::call_once 93: 0xffaeb22800a8 - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::execute_job_non_incr<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_data_structures[2c9f1c1f23740c75]::vec_cache::VecCache<rustc_span[41a6e2c377868cd4]::def_id::LocalDefId, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[ff5dd8c2f29163d8]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 16usize]>>::{closure#0}, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 16usize]>> 94: 0xffaeb21a785c - rustc_query_system[ff5dd8c2f29163d8]::query::plumbing::try_execute_query::<rustc_query_impl[6c9b933e04a41676]::DynamicConfig<rustc_data_structures[2c9f1c1f23740c75]::vec_cache::VecCache<rustc_span[41a6e2c377868cd4]::def_id::CrateNum, rustc_middle[9bffbefec4c2d3c6]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[ff5dd8c2f29163d8]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6c9b933e04a41676]::plumbing::QueryCtxt, false> 95: 0xffaeb242b190 - rustc_query_impl[6c9b933e04a41676]::query_impl::exported_generic_symbols::get_query_non_incr::__rust_end_short_backtrace 96: 0xffaeb2d8d298 - <rustc_metadata[e90599fb12f69ac5]::rmeta::encoder::EncodeContext>::encode_crate_root 97: 0xffaeafdfec10 - rustc_metadata[e90599fb12f69ac5]::rmeta::encoder::encode_metadata::{closure#3}::{closure#0} 98: 0xffaeb2d853cc - <rustc_metadata[e90599fb12f69ac5]::rmeta::encoder::encode_metadata::{closure#3} as core[86de0986de23a55d]::ops::function::FnOnce<(rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt, &std[57c45f57ec3c24e5]::path::Path)>>::call_once 99: 0xffaeb2d9e764 - rustc_metadata[e90599fb12f69ac5]::rmeta::encoder::encode_metadata 100: 0xffaeb2e0c298 - rustc_metadata[e90599fb12f69ac5]::fs::encode_and_write_metadata 101: 0xffaeb0169290 - rustc_interface[75c05ebdc46d0f4d]::passes::start_codegen 102: 0xffaeb01e67c4 - <rustc_interface[75c05ebdc46d0f4d]::queries::Linker>::codegen_and_build_linker 103: 0xffaeafec9cd8 - <std[57c45f57ec3c24e5]::thread::local::LocalKey<core[86de0986de23a55d]::cell::Cell<*const ()>>>::with::<rustc_middle[9bffbefec4c2d3c6]::ty::context::tls::enter_context<<rustc_middle[9bffbefec4c2d3c6]::ty::context::GlobalCtxt>::enter<rustc_interface[75c05ebdc46d0f4d]::passes::create_and_enter_global_ctxt<core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>>::{closure#1}, core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>>::{closure#0}, core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>> 104: 0xffaeaff26c9c - <rustc_middle[9bffbefec4c2d3c6]::ty::context::TyCtxt>::create_global_ctxt::<core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>, rustc_interface[75c05ebdc46d0f4d]::passes::create_and_enter_global_ctxt<core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}> 105: 0xffaeaff09a20 - <rustc_interface[75c05ebdc46d0f4d]::passes::create_and_enter_global_ctxt<core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[86de0986de23a55d]::ops::function::FnOnce<(&rustc_session[e164ea3d64afd4b1]::session::Session, rustc_middle[9bffbefec4c2d3c6]::ty::context::CurrentGcx, alloc[cf75e2ab30ac120f]::sync::Arc<rustc_data_structures[2c9f1c1f23740c75]::jobserver::Proxy>, &std[57c45f57ec3c24e5]::sync::once_lock::OnceLock<rustc_middle[9bffbefec4c2d3c6]::ty::context::GlobalCtxt>, &rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_middle[9bffbefec4c2d3c6]::arena::Arena>, &rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_hir[c4d5b34c706ef8ed]::Arena>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0} 106: 0xffaeaff58490 - <alloc[cf75e2ab30ac120f]::boxed::Box<dyn for<'a> core[86de0986de23a55d]::ops::function::FnOnce<(&'a rustc_session[e164ea3d64afd4b1]::session::Session, rustc_middle[9bffbefec4c2d3c6]::ty::context::CurrentGcx, alloc[cf75e2ab30ac120f]::sync::Arc<rustc_data_structures[2c9f1c1f23740c75]::jobserver::Proxy>, &'a std[57c45f57ec3c24e5]::sync::once_lock::OnceLock<rustc_middle[9bffbefec4c2d3c6]::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_middle[9bffbefec4c2d3c6]::arena::Arena<'a>>, &'a rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_hir[c4d5b34c706ef8ed]::Arena<'a>>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2}), Output = core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>>> as core[86de0986de23a55d]::ops::function::FnOnce<(&rustc_session[e164ea3d64afd4b1]::session::Session, rustc_middle[9bffbefec4c2d3c6]::ty::context::CurrentGcx, alloc[cf75e2ab30ac120f]::sync::Arc<rustc_data_structures[2c9f1c1f23740c75]::jobserver::Proxy>, &std[57c45f57ec3c24e5]::sync::once_lock::OnceLock<rustc_middle[9bffbefec4c2d3c6]::ty::context::GlobalCtxt>, &rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_middle[9bffbefec4c2d3c6]::arena::Arena>, &rustc_data_structures[2c9f1c1f23740c75]::sync::worker_local::WorkerLocal<rustc_hir[c4d5b34c706ef8ed]::Arena>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2})>>::call_once 107: 0xffaeafef0130 - rustc_interface[75c05ebdc46d0f4d]::passes::create_and_enter_global_ctxt::<core[86de0986de23a55d]::option::Option<rustc_interface[75c05ebdc46d0f4d]::queries::Linker>, rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}::{closure#2}> 108: 0xffaeafee1b4c - <scoped_tls[21646fa6031b800c]::ScopedKey<rustc_span[41a6e2c377868cd4]::SessionGlobals>>::set::<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_with_globals<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_pool_with_globals<rustc_interface[75c05ebdc46d0f4d]::interface::run_compiler<(), rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()> 109: 0xffaeaff71068 - rustc_span[41a6e2c377868cd4]::create_session_globals_then::<(), rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_with_globals<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_pool_with_globals<rustc_interface[75c05ebdc46d0f4d]::interface::run_compiler<(), rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}> 110: 0xffaeaff87ee4 - std[57c45f57ec3c24e5]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_with_globals<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_pool_with_globals<rustc_interface[75c05ebdc46d0f4d]::interface::run_compiler<(), rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()> 111: 0xffaeafeea370 - <<std[57c45f57ec3c24e5]::thread::Builder>::spawn_unchecked_<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_with_globals<rustc_interface[75c05ebdc46d0f4d]::util::run_in_thread_pool_with_globals<rustc_interface[75c05ebdc46d0f4d]::interface::run_compiler<(), rustc_driver_impl[f8dcd73e3f98802]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[86de0986de23a55d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 112: 0xffaeb3a7d6b0 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h4301b1eb7e190497 at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/alloc/src/boxed.rs:1966:9 113: 0xffaeb3a7d6b0 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h63c57e2bd87c106a at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/alloc/src/boxed.rs:1966:9 114: 0xffaeb3a7d6b0 - std::sys::pal::unix::thread::Thread::new::thread_start::h029a7b8769f51646 at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/sys/pal/unix/thread.rs:97:17 115: 0xffaeaf194b30 - <unknown> 116: 0xffaeaf1fd88c - <unknown> --- note: please make sure that you have updated to the latest nightly note: please attach the file at `/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.104/rustc-ice-2025-08-06T04_41_53-15268.txt` to your bug report note: compiler flags: --crate-type lib -C embed-bitcode=no -Z binary-dep-depinfo -Z force-unstable-if-unmarked note: some of the compiler flags provided by cargo are hidden query stack during panic: #0 [mir_shims] generating MIR shim for `core::ops::function::FnOnce::call_once`, instance=FnPtrShim(DefId(2:3945 ~ core[78ea]::ops::function::FnOnce::call_once), FnDef(DefId(3:682 ~ alloc[65b5]::boxed::{impl#0}::new), [ty::Type])) #1 [check_mono_item] monomorphization-time checking ... and 3 other queries... use `env RUST_BACKTRACE=1` to see the full query stack [RUSTC-TIMING] parking_lot test:false 1.480 Compiling rustc-hash v2.1.1 [RUSTC-TIMING] rustc_hash test:false 0.125 Compiling rustc-stable-hash v0.1.2 [RUSTC-TIMING] build_script_build test:false 0.279 --- [RUSTC-TIMING] syn test:false 8.224 error: could not compile `syn` (lib) Caused by: process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc --crate-name syn --edition=2021 /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.104/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="fold"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="visit"' --cfg 'feature="visit-mut"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clone-impls", "default", "derive", "extra-traits", "fold", "full", "parsing", "printing", "proc-macro", "test", "visit", "visit-mut"))' -C metadata=0d5a78d7873b5792 -C extra-filename=-fb6ab839bcd99ae8 --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage1-rustc/release/deps -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-rustc/release/deps --extern proc_macro2=/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-rustc/release/deps/libproc_macro2-c52a08e3936ca7f7.rmeta --extern quote=/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-rustc/release/deps/libquote-a9b89089cc5c1862.rmeta --extern unicode_ident=/checkout/obj/build/aarch64-unknown-linux-gnu/stage1-rustc/release/deps/libunicode_ident-72cf21332cd62c75.rmeta --cap-lints allow -Z binary-dep-depinfo` (exit status: 101) warning: build failed, waiting for other jobs to finish... [RUSTC-TIMING] rustc_hashes test:false 0.114 [RUSTC-TIMING] crossbeam_utils test:false 1.143 [RUSTC-TIMING] linux_raw_sys test:false 1.394 Build completed unsuccessfully in 0:10:05 
@bors
Copy link
Collaborator

bors commented Aug 6, 2025

☔ The latest upstream changes (presumably #145003) made this pull request unmergeable. Please resolve the merge conflicts.

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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. T-libs Relevant to the library team, which will review and decide on the PR/issue.

5 participants