Skip to content

Rollup of 9 pull requests #142181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Jun 8, 2025
Merged

Rollup of 9 pull requests #142181

merged 25 commits into from
Jun 8, 2025

Conversation

GuillaumeGomez
Copy link
Member

@GuillaumeGomez GuillaumeGomez commented Jun 7, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Urgau and others added 25 commits May 22, 2025 19:12
…illaumeGomez

Allow `#![doc(test(attr(..)))]` everywhere

This PR adds the ability to specify [`#![doc(test(attr(..)))]`](https://doc.rust-lang.org/nightly/rustdoc/write-documentation/the-doc-attribute.html#testattr) ~~at module level~~ everywhere in addition to allowing it at crate-root.

This is motivated by a recent PR rust-lang#140323 (by ````@tgross35)```` where we have to duplicate 2 attributes to every single `f16` and `f128` doctests, by allowing `#![doc(test(attr(..)))]` at module level (and everywhere else) we can omit them entirely and just have (in both module):

```rust
#![doc(test(attr(feature(cfg_target_has_reliable_f16_f128))))]
#![doc(test(attr(expect(internal_features))))]
```

Those new attributes are appended to the one found at crate-root or at a previous module. Those "global" attributes are compatible with merged doctests (they already were before).

Given the small addition that this is, I'm proposing to insta-stabilize it, but I can feature-gate it if preferred.

Best reviewed commit by commit.

r? ````@GuillaumeGomez````
…refs, r=traviscross

Make the `dangerous_implicit_autorefs` lint deny-by-default

I intended for the `dangerous_implicit_autorefs` lint to be deny-by-default, the [T-lang nomination comment](rust-lang#123239 (comment)) even clearly mentioned deny-by-default, but somehow I and other missed that it is only warn-by-default.

I think the lint should still be deny-by-default as the implicit aliasing requirements can be quite dangerous.

In any-case, opening this PR for T-lang awareness.

`@rustbot` label +I-lang-nominated +T-lang
r? `@traviscross`
…ignore_ascii_case, r=Mark-Simulacrum

Stabilize `const_eq_ignore_ascii_case`

Tracking issue: rust-lang#131719
Closes rust-lang#131719
FCP Completed: rust-lang#131719 (comment)
…elate, r=BoxyUwU

Treat normalizing consts like normalizing types in deeply normalize

...so that we don't end up putting a top-level normalizes-to goal in the fulfillment context, which ICEs. This basically just models the normalize-const code off of the normalize-ty code above it, which uses an alias-relate goal instead.

Fixes rust-lang#140571

r? lcnr
…iants, r=bjorn3

compiler: Sort and doc ExternAbi variants

My personal brainworms found this ordering made the most sense while writing the CanonAbi PR.  It is *an* ordering, at least, unlike the current mess. There has been no particular reason for the previous order ever since rust-lang#136901, despite the comment I delete here. I just didn't change it.

Because I feel weird just fussing with variant ordering in the source definition, I also documented a bunch to the best of my ability.
…arn, r=Urgau

compiler: Treat ForceWarning as a Warning for diagnostic level

This silences an ICE.

No idea if this is the correct solution though tbh.

Fixes rust-lang#142144
…oli-obk

get rid of spurious cfg(bootstrap)

r? ```@oli-obk```
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 7, 2025
@rustbot rustbot added T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Jun 7, 2025
@GuillaumeGomez
Copy link
Member Author

@workingjubilee: Pinging you just in case this one also contains wrong PRs.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Jun 7, 2025

📌 Commit aa94060 has been approved by GuillaumeGomez

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

bors commented Jun 7, 2025

⌛ Testing commit aa94060 with merge a5584a8...

@bors
Copy link
Collaborator

bors commented Jun 8, 2025

☀️ Test successful - checks-actions
Approved by: GuillaumeGomez
Pushing a5584a8 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 8, 2025
@bors bors merged commit a5584a8 into rust-lang:master Jun 8, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 8, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#140560 Allow #![doc(test(attr(..)))] everywhere a97b3bdeaa8899b1248e02d582ae0b8fefa62259 (link)
#141447 Document representation of Option<unsafe fn()> c5fda582bdf972fe72ddd1f7711ac9f3198a2e98 (link)
#141661 Make the dangerous_implicit_autorefs lint deny-by-default 9a1e185ed08aaf26611dc80fe9e653e569485c54 (link)
#142065 Stabilize const_eq_ignore_ascii_case c438cf1709eabcd45f7f91b1506c028cc15479a3 (link)
#142116 Fix bootstrap tracing imports fb8da50fdc4ef91822c39b7728f90573210bec25 (link)
#142126 Treat normalizing consts like normalizing types in deeply n… 3a11e351152792343930280f0cae9f682a9ca4b8 (link)
#142140 compiler: Sort and doc ExternAbi variants b3797c008e61e9262d59cf65c33a140f81bba71a (link)
#142148 compiler: Treat ForceWarning as a Warning for diagnostic le… 466e4abfffe99f315a1134ed47167c691cedbf6a (link)
#142154 get rid of spurious cfg(bootstrap) 465bf5f71bebb96d4d08056141afcd1337e1dddb (link)

previous master: cdd545be1b

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

Copy link
Contributor

github-actions bot commented Jun 8, 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 cdd545b (parent) -> a5584a8 (this PR)

Test differences

Show 14 test diffs

Stage 1

  • [crashes] tests/crashes/140571.rs: pass -> [missing] (J0)
  • [ui] tests/rustdoc-ui/doctest/dead-code-items.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doctest/dead-code-module-2.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doctest/dead-code-module.rs: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/doctest/doc-test-attr-pass-module.rs: [missing] -> pass (J0)
  • [ui] tests/ui/lint/force-warn/ice-free.rs: [missing] -> pass (J0)
  • [ui] tests/ui/specialization/overlap-due-to-unsatisfied-const-bound.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/rustdoc-ui/doctest/dead-code-items.rs: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doctest/dead-code-module-2.rs: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doctest/dead-code-module.rs: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/doctest/doc-test-attr-pass-module.rs: [missing] -> pass (J1)
  • [ui] tests/ui/lint/force-warn/ice-free.rs: [missing] -> pass (J2)
  • [ui] tests/ui/specialization/overlap-due-to-unsatisfied-const-bound.rs: [missing] -> pass (J2)
  • [crashes] tests/crashes/140571.rs: pass -> [missing] (J3)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard a5584a8fe16037dc01782064fa41424a6dbe9987 --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. aarch64-apple: 4039.1s -> 5420.3s (34.2%)
  2. mingw-check-1: 1617.2s -> 1892.4s (17.0%)
  3. x86_64-apple-1: 6806.4s -> 5885.3s (-13.5%)
  4. x86_64-gnu-llvm-19-1: 3217.2s -> 3613.8s (12.3%)
  5. x86_64-rust-for-linux: 2628.5s -> 2922.5s (11.2%)
  6. x86_64-apple-2: 4531.8s -> 4986.0s (10.0%)
  7. i686-gnu-nopt-1: 7327.2s -> 7979.2s (8.9%)
  8. dist-ohos-x86_64: 4091.3s -> 4450.2s (8.8%)
  9. dist-arm-linux-gnueabi: 4605.8s -> 4993.3s (8.4%)
  10. i686-gnu-2: 5564.9s -> 6020.7s (8.2%)
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 (a5584a8): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (secondary -3.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.9% [2.9%, 2.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.8% [-8.4%, -5.3%] 2
All ❌✅ (primary) - - 0

Cycles

Results (secondary -0.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.4% [2.1%, 2.6%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.5% [-6.6%, -4.3%] 2
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 754.268s -> 752.018s (-0.30%)
Artifact size: 372.43 MiB -> 372.42 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs 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-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.