Skip to content

Conversation

@Kobzol
Copy link
Member

@Kobzol Kobzol commented Jun 2, 2025

In a similar vein as #141229, this PR makes the stdarch repository a Josh subtree (it was previously a submodule). The initial commit of stdarch upon this is based is 5a7342fc16b208b1b16624e886937ed8509a6506, which is the previous commit SHA of the stdarch submodule. The sync was performed according to https://hackmd.io/7pOuxnkdQDaL1Y1FQr65xg.

This was decided in rust-lang/stdarch#1655.

Test pull PR on my fork: Kobzol/stdarch#1
Test push PR on my fork: Kobzol#59

I plan to use the same Rust (miri-inspired) tooling that we use for rustc-dev-guide to enable pulls/pushes on stdarch.

Note that this repository currently doesn't have any stdarch-specific tests, so before that, the subtree should only be modified through this repository only when dealing with changes that contain "cyclical dependencies" between stdarch and rustc. The long term vision is to integrate stdarch into rust-lang/rust completely.

CC @Amanieu

try-job: aarch64-apple
try-job: aarch64-gnu
try-job: x86_64-msvc-*
try-job: x86_64-gnu
try-job: x86_64-gnu-aux

folkertdev and others added 30 commits March 3, 2025 11:09
This is to combat the spurious CI failures in emulated run. Also helps with updatability and compatibility - it will work even if Intel changes the link
This commit fixes an issue where simd shift intrinsic in LLVM are undefined behavior if the shift amount is larger than the bit width of the lane. While in WebAssembly the corresponding instructions are defined as masking out the upper bits we need to represent that explicitly in LLVM IR to ensure that the semantics remain defined. cc rust-lang#137941
@Kobzol
Copy link
Member Author

Kobzol commented Jun 25, 2025

Ok, removed the last commit for now.

@bors r=Amanieu

@bors
Copy link
Collaborator

bors commented Jun 25, 2025

📌 Commit e824005 has been approved by Amanieu

It is now in the queue for this repository.

@bors bors 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 Jun 25, 2025
@workingjubilee
Copy link
Member

@bors p=5

@bors
Copy link
Collaborator

bors commented Jun 26, 2025

⌛ Testing commit e824005 with merge 5557683...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-msvc-1 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [run-make] tests\run-make\short-ice stdout ---- error: rmake recipe failed to complete status: exit code: 101 command: "D:\\a\\rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\run-make\\short-ice\\rmake.exe" stdout: none --- stderr ------------------------------- thread 'main' panicked at D:\a\rust\rust\tests\run-make\short-ice\rmake.rs:38:5: assertion `left == right` failed: Full backtrace should contain the short backtrace markers. --- 2: 0x7ffc98f168f1 - std::io::IoSlice::as_slice::h48f37d8a0f0eb9fa 3: 0x7ffc98f22165 - std::sys::backtrace::lock::h338f1f7bee650f1b 4: 0x7ffc98f28170 - std::panicking::default_hook::h903e8698c1f5bdbb 5: 0x7ffc98f27e90 - std::panicking::default_hook::h903e8698c1f5bdbb 6: 0x7ffc8f9b81f0 - core[d0ced7f90386e952]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[2921d1536033a589]::Level, &str), usize), <((rustc_lint_defs[2921d1536033a589]::Level, &str), usize) as core[d0ced7f90386e952]::cmp::PartialOrd>::lt> 7: 0x7ffc98f28e87 - std::panicking::rust_panic_with_hook::h51b4fdb93e15b80b 8: 0x7ffc98f28a92 - <std::panicking::begin_panic_handler::StaticStrPayload as core::panic::PanicPayload>::take_box::hb77a26811bcf7d39 9: 0x7ffc98f22cff - std::sys::backtrace::__rust_end_short_backtrace::h23a012e374195273 10: 0x7ffc98f2861e - __rustc[40246dd6203fcbaf]::rust_begin_unwind 11: 0x7ffc9924bb91 - core::panicking::panic_fmt::hf53d3cfe82cfa659 12: 0x7ffc989c7971 - <rustc_errors[4ebb237cbff24b59]::DiagCtxtInner>::emit_diagnostic 13: 0x7ffc989c6619 - <rustc_errors[4ebb237cbff24b59]::DiagCtxtInner>::emit_diagnostic 14: 0x7ffc8fe1d0dd - RNvXsb_NtCs8HxG82G4y68_13rustc_type_ir4foldINtB5_12RegionFolderNtNtNtCsd16Cjn0VB7L_12rustc_middle2ty7context6TyCtxtNCNCNvMNtNtNtCslTcWQSQv7CF_23rustc_next_trait_solver5solve13normalizes_to12opaque_typesINtNtB20_9eval_ctxt8EvalCtxtNtNtNtCs1faUAShfB25_21rust 15: 0x7ffc989c5528 - <rustc_errors[4ebb237cbff24b59]::DiagCtxtInner>::emit_diagnostic 16: 0x7ffc989c3811 - <rustc_errors[4ebb237cbff24b59]::DiagCtxtHandle>::emit_diagnostic 17: 0x7ffc98a2578c - <rustc_span[44942cefcea815e5]::ErrorGuaranteed as rustc_errors[4ebb237cbff24b59]::diagnostic::EmissionGuarantee>::emit_producing_guarantee 18: 0x7ffc9463fdc1 - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_repeat_exprs 19: 0x7ffc94638d89 - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_repeat_exprs 20: 0x7ffc945ed420 - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::try_overloaded_call_traits 21: 0x7ffc946e0687 - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_kind 22: 0x7ffc94606edf - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_coercible_to_type 23: 0x7ffc946d4e1e - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_with_expectation 24: 0x7ffc9464730a - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_repeat_exprs 25: 0x7ffc946d6973 - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_kind 26: 0x7ffc94606edf - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_coercible_to_type 27: 0x7ffc946d4e1e - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_expr_with_expectation 28: 0x7ffc94608f6f - <rustc_hir_typeck[7389cacb8a283db0]::fn_ctxt::FnCtxt>::check_return_or_body_tail 29: 0x7ffc94577a41 - rustc_hir_typeck[7389cacb8a283db0]::check::check_fn 30: 0x7ffc944e05b2 - rustc_hir_typeck[7389cacb8a283db0]::upvar::should_do_rust_2021_incompatible_closure_captures_analysis 31: 0x7ffc96fb6595 - rustc_query_impl[61f2a928bfab0333]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[61f2a928bfab0333]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[97a080568679b98f]::query::erase::Erased<[u8; 8usize]>> 32: 0x7ffc96efd447 - rustc_query_impl[61f2a928bfab0333]::query_impl::stripped_cfg_items::get_query_incr::__rust_end_short_backtrace 33: 0x7ffc96dbfdeb - RINvNtNtCsiVxMO4QZFWe_18rustc_query_system5query8plumbing17try_execute_queryINtCs8pncXC5Z6I9_16rustc_query_impl13DynamicConfigINtNtCsjsra3Rgjs8F_21rustc_data_structures9vec_cache8VecCacheNtNtCs5T2GPrHYoyn_10rustc_span6def_id10LocalDefIdINtNtNtCsd16Cjn0VB7L 34: 0x7ffc96bb6f5d - rustc_query_impl[61f2a928bfab0333]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace 35: 0x7ffc94b4976a - <rustc_middle[97a080568679b98f]::ty::Ty as rustc_type_ir[655c76b9ec10de46]::inherent::Ty<rustc_middle[97a080568679b98f]::ty::context::TyCtxt>>::new_projection::<[rustc_middle[97a080568679b98f]::ty::Ty; 1usize]> 36: 0x7ffc94b21ae8 - RINvNtNtCsjsra3Rgjs8F_21rustc_data_structures4sync8parallel15par_for_each_inRNtNtCs5T2GPrHYoyn_10rustc_span6def_id10LocalDefIdRSB1d_NCINvMs1_NtNtCsd16Cjn0VB7L_12rustc_middle3hir3mapNtNtNtB2j_2ty7context6TyCtxt19par_hir_body_ownersNCNvCsjIdUGH5wjcf_18rustc_ 37: 0x7ffc94a5d068 - rustc_hir_analysis[e59ceb45e0d6bdb5]::check_crate 38: 0x7ffc8fdb0ee9 - rustc_interface[1d463c32536e68fa]::passes::analysis 39: 0x7ffc96fb6ba3 - rustc_query_impl[61f2a928bfab0333]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[61f2a928bfab0333]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[97a080568679b98f]::query::erase::Erased<[u8; 0usize]>> 40: 0x7ffc96efe2e4 - rustc_query_impl[61f2a928bfab0333]::query_impl::stripped_cfg_items::get_query_incr::__rust_end_short_backtrace 41: 0x7ffc96d07954 - RINvNtNtCsiVxMO4QZFWe_18rustc_query_system5query8plumbing17try_execute_queryINtCs8pncXC5Z6I9_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCsd16Cjn0VB7L_12rustc_middle5query5erase6ErasedAhj0_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx 42: 0x7ffc96f32bfe - rustc_query_impl[61f2a928bfab0333]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace 43: 0x7ffc8fa0b310 - RINvMs2_NtNtCs2cgFxp0Fqja_3std6thread5localINtB6_8LocalKeyINtNtCshVtL5WFvckM_4core4cell4CellPuEE4withNCINvNtNtNtCsd16Cjn0VB7L_12rustc_middle2ty7context3tls13enter_contextNCINvMsj_B1I_NtB1I_10GlobalCtxt5enterNCNCINvNtCs2vPfSbOMV7y_15rustc_interface6passes28 44: 0x7ffc8fa9feda - RINvMsn_NtNtCsd16Cjn0VB7L_12rustc_middle2ty7contextNtB6_6TyCtxt18create_global_ctxtINtNtCshVtL5WFvckM_4core6option6OptionNtNtCs2vPfSbOMV7y_15rustc_interface7queries6LinkerENCNCINvNtB1Z_6passes28create_and_enter_global_ctxtB1j_NCNCNvCskV7P80CIUIb_17rustc_dr 45: 0x7ffc8fa9bddf - RINvXsd_NtNtNtCs5XqDXalfD8I_5alloc11collections5btree3setINtB6_8BTreeSetNtNtCs5T2GPrHYoyn_10rustc_span6symbol6SymbolEINtNtNtNtCshVtL5WFvckM_4core4iter6traits7collect12FromIteratorB18_E9from_iterINtNtNtB1Y_8adapters3map3MapINtNtB3b_6filter6FilterIB3z_INtNtN 46: 0x7ffc8f9c5347 - RNvXsq_NtCs5XqDXalfD8I_5alloc5boxedINtB5_3BoxDG_INtNtNtCshVtL5WFvckM_4core3ops8function6FnOnceTRL0_NtNtCs9M9lvJTdcTX_13rustc_session7session7SessionNtNtNtCsd16Cjn0VB7L_12rustc_middle2ty7context10CurrentGcxINtNtB7_4sync3ArcNtNtCsjsra3Rgjs8F_21rustc_data_str 47: 0x7ffc8fa7e14c - rustc_interface[1d463c32536e68fa]::passes::create_and_enter_global_ctxt::<core[d0ced7f90386e952]::option::Option<rustc_interface[1d463c32536e68fa]::queries::Linker>, rustc_driver_impl[f3af3320e7cf0615]::run_compiler::{closure#0}::{closure#2}> 48: 0x7ffc8fa63ebe - RINvMs_Cse1axGKuRo11_10scoped_tlsINtB5_9ScopedKeyNtCs5T2GPrHYoyn_10rustc_span14SessionGlobalsE3setNCNCNCINvNtCs2vPfSbOMV7y_15rustc_interface4util26run_in_thread_with_globalsNCINvB1H_31run_in_thread_pool_with_globalsNCINvNtB1J_9interface12run_compileruNCNvC 49: 0x7ffc8f9929bb - RINvNtNtCs2cgFxp0Fqja_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCs2vPfSbOMV7y_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCskV7P80CIUIb_17rustc_driver_i 50: 0x7ffc8f99550a - RINvXs_NtNtNtCshVtL5WFvckM_4core4iter8adapters5chainINtB5_5ChainINtNtNtBb_5slice4iter4IterTReINtNtCs5XqDXalfD8I_5alloc3vec3VecNtCs3wWBmLdw8qH_15rustc_lint_defs6LintIdEEEB10_ENtNtNtB9_6traits8iterator8Iterator4foldjNCINvNtB7_3map8map_foldRB1q_jjNCNvCskV7P80 51: 0x7ffc98f2e638 - std::sys::pal::windows::thread::Thread::new::h9c97474a47ce9b11 52: 0x7ffce8c8e8d7 - BaseThreadInitThunk 53: 0x7ffce9bfc34c - RtlUserThreadStart error: the compiler unexpectedly panicked. this is a bug. --- note: compiler flags: -Z treat-err-as-bug=1 query stack during panic: #0 [typeck] type-checking `main` #1 [analysis] running analysis passes on this crate end of query stack left: 3 right: 5 --- test result: FAILED. 311 passed; 1 failed; 85 ignored; 0 measured; 6 filtered out; finished in 227.45s Some tests failed in compiletest suite=run-make mode=run-make host=x86_64-pc-windows-msvc target=x86_64-pc-windows-msvc Build completed unsuccessfully in 2:21:47 make: *** [Makefile:112: ci-msvc-py] Error 1 local time: Thu Jun 26 05:22:01 CUT 2025 network time: Thu, 26 Jun 2025 05:22:02 GMT ##[error]Process completed with exit code 2. Post job cleanup. [command]"C:\Program Files\Git\bin\git.exe" version 
@bors
Copy link
Collaborator

bors commented Jun 26, 2025

💔 Test failed - checks-actions

@bors bors 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 Jun 26, 2025
@Kobzol
Copy link
Member Author

Kobzol commented Jun 26, 2025

@bors retry

Seems like short-ice might be flaky on Windows?

@bors bors 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 Jun 26, 2025
@workingjubilee
Copy link
Member

@bors
Copy link
Collaborator

bors commented Jun 26, 2025

⌛ Testing commit e824005 with merge 1e83852...

@bors
Copy link
Collaborator

bors commented Jun 26, 2025

☀️ Test successful - checks-actions
Approved by: Amanieu
Pushing 1e83852 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 26, 2025
@bors bors merged commit 1e83852 into rust-lang:master Jun 26, 2025
11 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 26, 2025
@Kobzol Kobzol deleted the stdarch-josh branch June 26, 2025 09:20
@github-actions
Copy link
Contributor

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

Comparing bc4376f (parent) -> 1e83852 (this PR)

Test differences

No test diffs found

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \ test-dashboard 1e838527f18cd24c81547ce6fbef6815032a80a7 --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. dist-apple-various: 6063.7s -> 8379.5s (38.2%)
  2. dist-aarch64-apple: 6836.1s -> 4753.0s (-30.5%)
  3. dist-aarch64-linux: 7938.6s -> 5721.3s (-27.9%)
  4. x86_64-apple-1: 7623.9s -> 9333.7s (22.4%)
  5. x86_64-rust-for-linux: 3087.6s -> 2535.1s (-17.9%)
  6. x86_64-apple-2: 5538.5s -> 4585.3s (-17.2%)
  7. x86_64-gnu-aux: 7150.5s -> 5967.4s (-16.5%)
  8. mingw-check-1: 1779.9s -> 1536.8s (-13.7%)
  9. i686-gnu-2: 6199.3s -> 5364.5s (-13.5%)
  10. dist-x86_64-apple: 10904.9s -> 9545.4s (-12.5%)
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 (1e83852): 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
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.1%, secondary 4.8%)

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

mean range count
Regressions ❌
(primary)
1.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
4.8% [4.8%, 4.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.1% [1.1%, 1.1%] 1

Cycles

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

Binary size

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

Bootstrap: 692.088s -> 691.88s (-0.03%)
Artifact size: 372.11 MiB -> 372.13 MiB (0.00%)

@dpaoliello
Copy link
Contributor

Seems like short-ice might be flaky on Windows?

There were definitely issues with x86 that I couldn't reproduce locally, so it wouldn't surprise me if x64 also occasionally has issues.

If it's a concern, then please revert the change to enable it for Windows and I can investigate later.

rust-bors bot added a commit that referenced this pull request Jul 1, 2025
Add `stdarch` bootstrap smoke test I spent like two hours trying to reproduce the [previous distcheck failure](#141899 (comment)) using the actual CI Docker image, but without luck. I wonder if it was a fluke.. try-job: x86_64-gnu-distcheck
tautschnig pushed a commit to model-checking/verify-rust-std that referenced this pull request Jul 3, 2025
Turn `stdarch` into a Josh subtree In a similar vein as rust-lang#141229, this PR makes the `stdarch` repository a Josh subtree (it was previously a submodule). The initial commit of `stdarch` upon this is based is `5a7342fc16b208b1b16624e886937ed8509a6506`, which is the previous commit SHA of the `stdarch` submodule. The sync was performed according to https://hackmd.io/7pOuxnkdQDaL1Y1FQr65xg. This was decided in rust-lang/stdarch#1655. Test pull PR on my fork: Kobzol/stdarch#1 Test push PR on my fork: Kobzol#59 I plan to use the same Rust (miri-inspired) tooling that we use for `rustc-dev-guide` to enable pulls/pushes on stdarch. Note that this repository currently doesn't have any stdarch-specific tests, so before that, the subtree should only be modified through this repository only when dealing with changes that contain "cyclical dependencies" between stdarch and rustc. The long term vision is to integrate stdarch into rust-lang/rust completely. CC `@Amanieu` try-job: aarch64-apple try-job: aarch64-gnu try-job: `x86_64-msvc-*` try-job: x86_64-gnu try-job: x86_64-gnu-aux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-meta Area: Issues & PRs about the rust-lang/rust repository itself has-merge-commits PR has merge commits, merge with caution. merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.