Skip to content

Conversation

@jhpratt
Copy link
Member

@jhpratt jhpratt commented Dec 6, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

The rustc-josh-sync Cronjob Bot and others added 30 commits November 24, 2025 04:18
This updates the rust-version file to d3e1ccd.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: d3e1ccd
Filtered ref: de0859194683d26da60d5d81db7f1f2a143b591d
Upstream diff: rust-lang/rust@cc328c1...d3e1ccd

This merge was created using https://github.com/rust-lang/josh-sync.
Updated link from SUMMARY.md to README.md in ui.md
Fix link to README in ui test documentation
Added a reference to The Rust Book for more information on Rust's release channels.
Update contributing.md with Rust Book reference
Give an overview of our stability guarantees
This updates the rust-version file to 1be6b13.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 1be6b13
Filtered ref: c2f66d57037ceb012cfd97c83feff7e7edb7dd40
Upstream diff: rust-lang/rust@d3e1ccd...1be6b13

This merge was created using https://github.com/rust-lang/josh-sync.
There was an issue raised that the toolchain explanation for building
and running the compiler needed some refinement. This patch aims to
remedy that by specifying what "first" and "second" refer to, and what
the toolchain does. Small change to the language to specify that the
stage2 toolchain is not built, and how one would build it.
Co-authored-by: Tshepang Mbambo <hopsi@tuta.io>
Fix rust-lang#1737: Specify toolchain part in building and running
`P` was removed in rust-lang#145146
(replaced with plain Box).

`CrateLoader` was inlined to `CStore` in
rust-lang#144059.

`elaborate_drops.rs` was moved in
rust-lang#137008.
This updates the rust-version file to dfe1b8c.
reddevilmidzy and others added 8 commits December 5, 2025 02:02
f*::min/max: fix comparing with libm and IEEE operations

What we document actually doesn't match what libm does any more, libm got "fixed"/changed in https://sourceware.org/bugzilla/show_bug.cgi?id=20947. So better remove the remark. Instead, explicitly call out that this is a mix of `minNum` and `minimumNumber`.

Also fix the intrinsics which incorrectly claimed to be like `minNum`, but their intended SNaN behavior is actually different from that.

r? `@tgross35`
…_fn, r=fee1-dead

`is_const_default_method` is completely handled by the `constness` query

After  rust-lang#149444 this function became obsolete

r? `@fee1-dead`
…nszelmann

Move attribute lints to `rustc_lint`

This PR changes two things:
- This decouples the `AttributeLintKind` from the `Lint` it is emitted in. `cx.emit_lint` now takes both as an argument, rather than inferring the `Lint` from the `AttributeLintKind`. This is nice because:
  - It allows us to remove `AttributeLintKind::InvalidMacroExportArguments`
  - It allows us to move the choice between `USELESS_DEPRECATED` and `UNUSED_ATTRIBUTES` out of the lint emitting code
  - It allows the next change:
- This moves `AttributeLintKind` to `rustc_lint_defs`, and the decorating code to `rustc_lint`. This is nice because:
  - It allows attribute lint decorating code to access the TypeCtxt, which unblocks rust-lang#149215
  - It might allow most early buffered attribute lints to become dyn lint diagnostics in the future, as in rust-lang#147634
  - It deduplicates `IllFormedAttributeInput`

This PR does not change observable output of the compiler, as can be seen by no uitests being affected.

r? `@jdonszelmann`
rustc-dev-guide subtree update

Subtree update of `rustc-dev-guide` to rust-lang/rustc-dev-guide@0afee7b.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustc-dev-guide Area: rustc-dev-guide S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Dec 6, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Dec 6, 2025

@bors r+ rollup=never p=4

@bors
Copy link
Collaborator

bors commented Dec 6, 2025

📌 Commit 00e2496 has been approved by jhpratt

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 Dec 6, 2025
@bors
Copy link
Collaborator

bors commented Dec 6, 2025

⌛ Testing commit 00e2496 with merge fbab541...

@bors
Copy link
Collaborator

bors commented Dec 6, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing fbab541 to main...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 6, 2025
@bors bors merged commit fbab541 into rust-lang:main Dec 6, 2025
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 6, 2025
@jhpratt jhpratt deleted the rollup-cnlzfbv branch December 6, 2025 09:13
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#149563 f*::min/max: fix comparing with libm and IEEE operations b8a3f31f09825125e4423c3f9a9a43ecd45cae86 (link)
#149592 is_const_default_method is completely handled by the `con… bf0cd708228aa0c4333893c1b502215f5fe8a0f6 (link)
#149662 Move attribute lints to rustc_lint b3edf4ce556bb0c11e98b6d80e85f8acf63829d5 (link)
#149684 rustc-dev-guide subtree update f91a29c31f87e94fca7d7e02db1ecab10d9f48ed (link)

previous master: b4f1098e10

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2025

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 b4f1098 (parent) -> fbab541 (this PR)

Test differences

Show 689 test diffs

Stage 0

  • lints::verify_lint_empty_attribute_121: [missing] -> pass (J0)
  • lints::verify_lint_invalid_style_123: [missing] -> pass (J0)
  • lints::verify_lint_invalid_target_122: [missing] -> pass (J0)
  • lints::verify_lint_unused_duplicate_124: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_as_needed_compatibility_57: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_as_needed_compatibility_62: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_bundle_needs_static_55: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_bundle_needs_static_60: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_empty_attribute_39: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_empty_confusables_38: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_empty_link_name_46: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_empty_link_name_51: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_ill_formed_attribute_input_28: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_ill_formed_attribute_input_29: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_ill_formed_attribute_input_30: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_import_name_type_raw_63: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_import_name_type_x86_54: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_import_name_type_x86_59: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_incompatible_wasm_link_53: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_invalid_alignment_value_38: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_invalid_alignment_value_42: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_invalid_attr_unsafe_48: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_invalid_link_modifier_52: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_invalid_target_37: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_invalid_target_41: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_limit_invalid_59: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_limit_invalid_64: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_link_framework_apple_52: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_link_ordinal_out_of_range_43: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_link_requires_name_49: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_link_requires_name_54: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_multiple_modifiers_58: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_naked_functions_incompatible_attribute_42: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_null_on_export_29: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_null_on_export_31: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_null_on_link_section_30: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_null_on_link_section_32: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_null_on_objc_class_31: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_objc_class_expected_string_literal_33: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_objc_class_expected_string_literal_35: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_objc_selector_expected_string_literal_36: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_raw_dylib_only_windows_51: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_raw_dylib_only_windows_56: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_repr_ident_39: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_stability_outside_std_35: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_suffixed_literal_in_attribute_45: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_suffixed_literal_in_attribute_49: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_unrecognized_repr_hint_40: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_unrecognized_repr_hint_44: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_unstable_feature_bound_incompatible_stability_41: [missing] -> pass (J0)
  • session_diagnostics::verify_attr_parsing_unused_duplicate_28: pass -> [missing] (J0)
  • session_diagnostics::verify_attr_parsing_whole_archive_needs_static_61: pass -> [missing] (J0)
  • transmute::verify_lint_undefined_transmute_121: pass -> [missing] (J0)
  • transmute::verify_lint_undefined_transmute_125: [missing] -> pass (J0)

Stage 1

  • lints::verify_lint_invalid_style_123: [missing] -> pass (J1)
  • lints::verify_lint_invalid_target_122: [missing] -> pass (J1)
  • lints::verify_lint_unused_duplicate_124: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_as_needed_compatibility_57: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_bundle_needs_static_60: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_empty_attribute_39: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_empty_confusables_36: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_empty_confusables_38: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_empty_link_name_46: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_ill_formed_attribute_input_28: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_import_name_type_raw_63: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_import_name_type_x86_54: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_import_name_type_x86_59: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_incompatible_wasm_link_48: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_incompatible_wasm_link_53: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_invalid_alignment_value_42: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_invalid_attr_unsafe_48: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_invalid_link_modifier_57: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_invalid_style_50: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_invalid_target_lint_40: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_limit_invalid_59: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_limit_invalid_64: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_link_framework_apple_47: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_link_framework_apple_52: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_link_ordinal_out_of_range_43: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_link_ordinal_out_of_range_47: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_link_requires_name_49: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_multiple_modifiers_53: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_null_on_export_31: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_null_on_link_section_30: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_null_on_link_section_32: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_null_on_objc_class_31: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_null_on_objc_class_33: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_null_on_objc_selector_32: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_null_on_objc_selector_34: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_objc_class_expected_string_literal_35: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_objc_selector_expected_string_literal_34: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_objc_selector_expected_string_literal_36: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_raw_dylib_no_nul_50: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_repr_ident_43: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_stability_outside_std_35: [missing] -> pass (J1)
  • session_diagnostics::verify_attr_parsing_unrecognized_repr_hint_44: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_unstable_feature_bound_incompatible_stability_45: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_unused_duplicate_28: pass -> [missing] (J1)
  • session_diagnostics::verify_attr_parsing_whole_archive_needs_static_61: pass -> [missing] (J1)
  • transmute::verify_lint_undefined_transmute_125: [missing] -> pass (J1)

(and 50 additional test diffs)

Additionally, 539 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard fbab541a7ad1c22fc51783d03c7d75fa577f5633 --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-aarch64-apple: 7387.7s -> 6493.7s (-12.1%)
  2. dist-x86_64-apple: 8697.2s -> 7852.4s (-9.7%)
  3. dist-apple-various: 3708.5s -> 4061.8s (+9.5%)
  4. dist-i686-linux: 6074.7s -> 6634.8s (+9.2%)
  5. i686-msvc-2: 8102.0s -> 7380.1s (-8.9%)
  6. dist-arm-linux-musl: 5249.7s -> 5662.1s (+7.9%)
  7. arm-android: 6041.3s -> 6504.5s (+7.7%)
  8. pr-check-1: 2009.8s -> 1859.6s (-7.5%)
  9. dist-aarch64-msvc: 6056.0s -> 5615.1s (-7.3%)
  10. pr-check-2: 2527.5s -> 2348.7s (-7.1%)
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 (fbab541): comparison URL.

Overall result: ❌✅ regressions and 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)
1.4% [1.4%, 1.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.4%, -0.1%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.8%, secondary -3.0%)

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.8% [-0.8%, -0.8%] 1
Improvements ✅
(secondary)
-3.0% [-3.0%, -3.0%] 1
All ❌✅ (primary) -0.8% [-0.8%, -0.8%] 1

Cycles

Results (primary -2.8%, secondary 4.1%)

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

Binary size

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

Bootstrap: 471.737s -> 471.701s (-0.01%)
Artifact size: 388.97 MiB -> 388.90 MiB (-0.02%)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustc-dev-guide Area: rustc-dev-guide merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.