Skip to content

chore: update rust toolchain from nightly-2025-11-13 to nightly-2026-04-16#13723

Merged
CPunisher merged 3 commits intomainfrom
04-16-chore/rust-toolchain
Apr 16, 2026
Merged

chore: update rust toolchain from nightly-2025-11-13 to nightly-2026-04-16#13723
CPunisher merged 3 commits intomainfrom
04-16-chore/rust-toolchain

Conversation

@CPunisher
Copy link
Copy Markdown
Contributor

@CPunisher CPunisher commented Apr 16, 2026

Summary

Code updates:

  1. crates/rspack_binding_api/src/dependency.rs: refers to Remove object lifetime cast metrics-rs/metrics#564
  2. Fix clippy

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

@CPunisher CPunisher requested a review from quininer April 16, 2026 07:51
@github-actions github-actions Bot added the team The issue/pr is created by the member of Rspack. label Apr 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 16, 2026

📦 Binary Size-limit

Comparing bc7b622 to fix: render numeric chunk IDs as number literals (#13604) by Fy

🎉 Size decreased by 768.84KB from 49.39MB to 48.64MB (⬇️1.52%)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 16, 2026

Rsdoctor Bundle Diff Analysis

Found 6 projects in monorepo, 6 projects with changes.

📊 Quick Summary
Project Total Size Change
popular-libs 1.7 MB -
react-10k 5.7 MB -
react-1k 826.1 KB -
rome 984.1 KB -
react-5k 2.7 MB -
ui-components 5.0 MB -
📋 Detailed Reports (Click to expand)

📁 popular-libs

Path: ../build-tools-performance/cases/popular-libs/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 1.7 MB - -
📄 JavaScript 1.7 MB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 react-10k

Path: ../build-tools-performance/cases/react-10k/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 5.7 MB - -
📄 JavaScript 5.7 MB - -
🎨 CSS 21.0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 react-1k

Path: ../build-tools-performance/cases/react-1k/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 826.1 KB - -
📄 JavaScript 826.1 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 rome

Path: ../build-tools-performance/cases/rome/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 984.1 KB - -
📄 JavaScript 984.1 KB - -
🎨 CSS 0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 react-5k

Path: ../build-tools-performance/cases/react-5k/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 2.7 MB - -
📄 JavaScript 2.7 MB - -
🎨 CSS 21.0 B - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

📁 ui-components

Path: ../build-tools-performance/cases/ui-components/dist/rsdoctor-data.json

⚠️ No baseline data found - Unable to perform comparison analysis

Metric Current Baseline Change
📊 Total Size 5.0 MB - -
📄 JavaScript 4.7 MB - -
🎨 CSS 291.6 KB - -
🌐 HTML 0 B - -
📁 Other Assets 0 B - -

Generated by Rsdoctor GitHub Action

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 16, 2026

Merging this PR will degrade performance by 2.13%

⚡ 14 improved benchmarks
❌ 1 regressed benchmark
✅ 19 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation rust@build_module_graph 1.5 s 1.5 s +1.23%
Simulation rust@flag_dependency_usage 30.4 ms 29.8 ms +2.2%
Simulation rust@build_chunk_graph 103.2 ms 101 ms +2.2%
Simulation rust@mangle_exports 11.7 ms 11.5 ms +2%
Simulation rust@split_chunks 6.7 ms 6.5 ms +3.16%
Simulation rust@flag_dependency_exports 17.4 ms 17.1 ms +1.78%
Simulation rust@create_module_ids 12.5 ms 12.1 ms +3.41%
Simulation rust@create_chunk_hashes 4.2 ms 4.1 ms +1.91%
Simulation rust@create_concatenate_module 42.4 ms 41.2 ms +2.88%
Simulation rust@create_module_hashes 21.4 ms 21.1 ms +1.72%
Simulation rust@persistent_cache_restore_after_single_file_change@basic-react-development 27.6 ms 28.2 ms -2.13%
Simulation rust@module_graph_api 12.3 ms 11.9 ms +3.52%
Simulation rust@create_full_hash 7.1 ms 6.9 ms +1.93%
Simulation rust@create_chunk_ids 10.5 ms 9.9 ms +6.69%
Simulation rust@scan_dependencies@three_module 23.5 ms 23.2 ms +1.58%

Comparing 04-16-chore/rust-toolchain (bc7b622) with main (0304bab)

Open in CodSpeed

@CPunisher CPunisher marked this pull request as ready for review April 16, 2026 08:46
@CPunisher CPunisher requested a review from ahabhgk as a code owner April 16, 2026 08:46
Copilot AI review requested due to automatic review settings April 16, 2026 08:46
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the repository’s Rust nightly toolchain and applies clippy-motivated refactors across multiple crates, including a binding-layer change to how Dependency trait-object pointers are stored for N-API interop.

Changes:

  • Bump Rust toolchain from nightly-2025-11-13 to nightly-2026-04-16.
  • Apply clippy-driven refactors (e.g. while let loops, sort_by_key, iterator simplifications) across core/plugins/tools.
  • Adjust rspack_binding_api dependency wrapper pointer handling to satisfy new nightly lifetime/trait-object constraints.

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
rust-toolchain.toml Update pinned nightly toolchain version.
crates/rspack_tools/src/compare/mod.rs Simplify queue loop with while let.
crates/rspack_plugin_runtime/src/runtime_plugin.rs Add clippy lint suppression.
crates/rspack_plugin_real_content_hash/src/lib.rs Simplify loop with while let.
crates/rspack_plugin_mf/src/manifest/mod.rs Remove redundant into_iter() in extend.
crates/rspack_plugin_json/src/utils.rs Use sort_unstable_by_key for clarity.
crates/rspack_plugin_javascript/src/plugin/module_concatenation_plugin.rs Deterministic sorting using Reverse key.
crates/rspack_plugin_javascript/src/parser_plugin/side_effects_parser_plugin.rs Add clippy lint suppressions.
crates/rspack_plugin_javascript/src/parser_plugin/const/if_stmt.rs Add clippy lint suppression.
crates/rspack_plugin_javascript/src/dependency/esm/esm_import_dependency.rs Add clippy lint suppression.
crates/rspack_plugin_extract_css/src/runtime.rs Use sort_unstable_by_key for attribute ordering.
crates/rspack_plugin_esm_library/src/render.rs Use sort_by_key for deterministic ordering.
crates/rspack_plugin_esm_library/src/plugin.rs Use sort_by_key for deterministic ordering.
crates/rspack_plugin_esm_library/src/optimize_chunks.rs Deterministic ordering via sort_by_key.
crates/rspack_plugin_esm_library/src/link.rs Iterate map values directly instead of tuple destructuring.
crates/rspack_plugin_css_chunking/src/lib.rs Simplify module processing loop with while let.
crates/rspack_plugin_css/src/parser_and_generator/mod.rs Remove redundant iterator conversion in zip.
crates/rspack_plugin_copy/src/lib.rs Use sort_unstable_by_key for determinism.
crates/rspack_loader_swc/src/rsc_transforms/server_actions.rs Add clippy suppressions and simplify pattern matching.
crates/rspack_core/src/utils/find_graph_roots.rs Use sort_by_key for deterministic ordering.
crates/rspack_core/src/utils/extract_source_map.rs Avoid redundant into_iter() in zip.
crates/rspack_core/src/external_module.rs Add clippy lint suppression.
crates/rspack_core/src/context_module_factory.rs Use is_ok_and for metadata directory checks.
crates/rspack_core/src/concatenated_module.rs Use sort_unstable_by_key for ordering.
crates/rspack_core/src/compiler/mod.rs Simplify clean-up iteration over emitted asset keys.
crates/rspack_core/src/compilation/build_module_graph/graph_updater/cutout/fix_issuers.rs Simplify queue loops with while let.
crates/rspack_core/src/cache/persistent/build_dependencies/mod.rs Simplify queue loop with while let.
crates/rspack_binding_api/src/dependency.rs Change dependency pointer storage approach to satisfy new lifetime constraints.
crates/rspack_binding_api/src/chunk.rs Use sort_unstable_by_key for deterministic ordering.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/rspack_binding_api/src/dependency.rs
Comment thread crates/rspack_binding_api/src/dependency.rs
@CPunisher CPunisher enabled auto-merge (squash) April 16, 2026 08:56
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 16, 2026

📝 Benchmark detail: Open

Name Base (390da4f) Current Change
10000_big_production-mode_disable-minimize + exec 14 s ± 349 ms 14.2 s ± 250 ms +1.12 %
10000_development-mode + exec 932 ms ± 24 ms 948 ms ± 47 ms +1.65 %
10000_development-mode_hmr + stats 171 ms ± 12 ms 170 ms ± 3 ms -0.60 %
10000_development-mode_noop-loader + exec 1.95 s ± 77 ms 1.97 s ± 104 ms +0.65 %
10000_production-mode + exec 1.04 s ± 27 ms 1.07 s ± 37 ms +2.98 %
10000_production-mode_persistent-cold + exec 1.22 s ± 19 ms 1.24 s ± 30 ms +1.99 %
10000_production-mode_persistent-hot + exec 903 ms ± 26 ms 908 ms ± 20 ms +0.51 %
10000_production-mode_source-map + exec 1.22 s ± 46 ms 1.23 s ± 22 ms +0.67 %
arco-pro_development-mode + exec 1.33 s ± 95 ms 1.35 s ± 91 ms +1.31 %
arco-pro_development-mode_hmr + stats 36 ms ± 5.3 ms 36 ms ± 0.17 ms -1.10 %
arco-pro_production-mode + exec 2.47 s ± 138 ms 2.49 s ± 142 ms +0.67 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 2.53 s ± 83 ms 2.62 s ± 158 ms +3.59 %
arco-pro_production-mode_persistent-cold + exec 2.5 s ± 117 ms 2.54 s ± 62 ms +1.79 %
arco-pro_production-mode_persistent-hot + exec 1.37 s ± 58 ms 1.38 s ± 38 ms +0.38 %
arco-pro_production-mode_source-map + exec 2.9 s ± 131 ms 2.88 s ± 130 ms -0.48 %
arco-pro_production-mode_traverse-chunk-modules + exec 2.51 s ± 102 ms 2.55 s ± 94 ms +1.79 %
bundled-threejs_development-mode + exec 178 ms ± 4.4 ms 179 ms ± 2.4 ms +0.45 %
bundled-threejs_production-mode + exec 206 ms ± 3.6 ms 211 ms ± 7 ms +2.33 %
large-dyn-imports_development-mode + exec 1.19 s ± 79 ms 1.18 s ± 30 ms -1.29 %
large-dyn-imports_production-mode + exec 1.28 s ± 56 ms 1.28 s ± 33 ms -0.02 %
threejs_development-mode_10x + exec 798 ms ± 27 ms 828 ms ± 15 ms +3.81 %
threejs_development-mode_10x_hmr + stats 118 ms ± 11 ms 118 ms ± 5.7 ms +0.34 %
threejs_production-mode_10x + exec 3 s ± 8.5 ms 3.03 s ± 42 ms +1.04 %
threejs_production-mode_10x_persistent-cold + exec 3.16 s ± 106 ms 3.17 s ± 113 ms +0.30 %
threejs_production-mode_10x_persistent-hot + exec 2.53 s ± 21 ms 2.52 s ± 8.1 ms -0.40 %
threejs_production-mode_10x_source-map + exec 3.76 s ± 33 ms 3.79 s ± 28 ms +0.75 %
10000_big_production-mode_disable-minimize + rss memory 1944 MiB ± 72.2 MiB 1959 MiB ± 67.5 MiB +0.77 %
10000_development-mode + rss memory 574 MiB ± 8.01 MiB 579 MiB ± 9.34 MiB +0.97 %
10000_development-mode_hmr + rss memory 809 MiB ± 47.6 MiB 821 MiB ± 15.8 MiB +1.49 %
10000_development-mode_noop-loader + rss memory 874 MiB ± 15.5 MiB 872 MiB ± 18.3 MiB -0.23 %
10000_production-mode + rss memory 519 MiB ± 13.8 MiB 520 MiB ± 15.2 MiB +0.14 %
10000_production-mode_persistent-cold + rss memory 693 MiB ± 4.09 MiB 693 MiB ± 8.44 MiB +0.05 %
10000_production-mode_persistent-hot + rss memory 668 MiB ± 20.8 MiB 669 MiB ± 9.14 MiB +0.10 %
10000_production-mode_source-map + rss memory 545 MiB ± 10.6 MiB 545 MiB ± 16.7 MiB +0.10 %
arco-pro_development-mode + rss memory 481 MiB ± 10.3 MiB 476 MiB ± 5.81 MiB -1.01 %
arco-pro_development-mode_hmr + rss memory 496 MiB ± 10.5 MiB 496 MiB ± 16.4 MiB +0.09 %
arco-pro_production-mode + rss memory 658 MiB ± 57.8 MiB 668 MiB ± 5.04 MiB +1.43 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 679 MiB ± 49.6 MiB 688 MiB ± 29.6 MiB +1.27 %
arco-pro_production-mode_persistent-cold + rss memory 739 MiB ± 6.53 MiB 741 MiB ± 26.5 MiB +0.30 %
arco-pro_production-mode_persistent-hot + rss memory 539 MiB ± 32.4 MiB 527 MiB ± 14.9 MiB -2.13 %
arco-pro_production-mode_source-map + rss memory 755 MiB ± 14.9 MiB 752 MiB ± 15.9 MiB -0.40 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 657 MiB ± 61.7 MiB 670 MiB ± 14.5 MiB +2.10 %
bundled-threejs_development-mode + rss memory 155 MiB ± 10.6 MiB 152 MiB ± 5.85 MiB -2.03 %
bundled-threejs_production-mode + rss memory 173 MiB ± 2.46 MiB 178 MiB ± 16 MiB +2.81 %
large-dyn-imports_development-mode + rss memory 584 MiB ± 16.8 MiB 574 MiB ± 15.8 MiB -1.82 %
large-dyn-imports_production-mode + rss memory 464 MiB ± 3.1 MiB 460 MiB ± 9.22 MiB -0.86 %
threejs_development-mode_10x + rss memory 541 MiB ± 19.9 MiB 542 MiB ± 16.3 MiB +0.26 %
threejs_development-mode_10x_hmr + rss memory 675 MiB ± 26.3 MiB 666 MiB ± 9.26 MiB -1.22 %
threejs_production-mode_10x + rss memory 708 MiB ± 16 MiB 702 MiB ± 21.8 MiB -0.85 %
threejs_production-mode_10x_persistent-cold + rss memory 823 MiB ± 27 MiB 823 MiB ± 17.3 MiB -0.02 %
threejs_production-mode_10x_persistent-hot + rss memory 602 MiB ± 3.46 MiB 597 MiB ± 10.3 MiB -0.84 %
threejs_production-mode_10x_source-map + rss memory 812 MiB ± 40.7 MiB 809 MiB ± 36.5 MiB -0.34 %

@CPunisher CPunisher merged commit 4bd8ba2 into main Apr 16, 2026
74 of 82 checks passed
@CPunisher CPunisher deleted the 04-16-chore/rust-toolchain branch April 16, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

team The issue/pr is created by the member of Rspack.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants