Skip to content
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

Rollup of 7 pull requests #138414

Merged
merged 20 commits into from
Mar 12, 2025
Merged

Rollup of 7 pull requests #138414

merged 20 commits into from
Mar 12, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lcnr and others added 20 commits March 5, 2025 10:06
- UEFI file permissions are indicated using a u64 bitfield used for
  readonly/filetype, etc.
- Using normal bool with to and from attribute conversions to
  FilePermission from overriding some other bitfields.

Signed-off-by: Ayush Singh <[email protected]>
- Similar to FilePermissions, using bool to represent the bitfield.
- FileType cannot be changed, so no need to worry about converting back
  to attribute.

Signed-off-by: Ayush Singh <[email protected]>
- Just the permission and file type.
- FileTimes will need some new conversion functions and thus will come
  with a future PR. Trying to keep things simple here.

Signed-off-by: Ayush Singh <[email protected]>
The `hash_raw_entry` feature has finished fcp-close, so the compiler
should stop using it to allow its removal. Several `Sharded` maps were
using raw entries to avoid re-hashing between shard and map lookup, and
we can do that with `hashbrown::HashTable` instead.
For the `Mode::Rustc` lints as well. Because, unlike `RUSTC_FLAGS`,
`RUSTC_LINT_FLAGS` is not ignored for proc macro crates.

Fixes rust-lang#138106.
And fix the new errors in the handful of crates that didn't have a
`#![warn(unreachable_pub)]`.
It's no longer necessary now that `-Wunreachable_pub` is being passed.
Previous information is not correct.

Signed-off-by: onur-ozkan <[email protected]>
…ompiler-errors

change definitely unproductive cycles to error

builds on top of rust-lang#136824 by adding a third variant to `PathKind` for paths which may change to be coinductive in the future but must not be so right now. Most notably, impl where-clauses of not yet coinductive traits.

With this, we can change cycles which are definitely unproductive to a proper error. This fixes rust-lang/trait-system-refactor-initiative#114. This does not affect stable as we keep these cycles as ambiguous during coherence.

r? ````````@compiler-errors```````` ````````@nikomatsakis````````
Convert `ShardedHashMap` to use `hashbrown::HashTable`

The `hash_raw_entry` feature (rust-lang#56167) has finished fcp-close, so the compiler
should stop using it to allow its removal. Several `Sharded` maps were
using raw entries to avoid re-hashing between shard and map lookup, and
we can do that with `hashbrown::HashTable` instead.
…boet

uefi: fs: Implement FileType, FilePermissions and FileAttr

- In UEFI, both FileType and FilePermissions are represented by the attr bitfield.
- Using simple bools here since both are represented by a single bit.
- Add `FILE_PERMISSION` mask for constructing attribute while change permissions.

cc ````@nicholasbishop````
…ore, r=onur-ozkan,jieyouxu

Use `RUSTC_LINT_FLAGS` more

An alternative to the failed rust-lang#138084.

Fixes rust-lang#138106.

r? ````@jieyouxu````
…er-errors

Some autodiff cleanups

cc ````@ZuseZ4````

just some things I noticed
…i-obk

intrinsics: remove unnecessary leading underscore from argument names

This is unnecessary since rust-lang#135840.
…, r=jieyouxu

fix incorrect tracing log

Previous information is not correct.
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Mar 12, 2025

📌 Commit 579d058 has been approved by matthiaskrgr

It is now in the queue for this repository.

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic PG-exploit-mitigations Project group: Exploit mitigations 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Mar 12, 2025
@rustbot rustbot added the WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) label Mar 12, 2025
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Mar 12, 2025
@rustbot rustbot added the rollup A PR which is a rollup label Mar 12, 2025
@bors
Copy link
Contributor

bors commented Mar 12, 2025

⌛ Testing commit 579d058 with merge 249cb84...

@bors
Copy link
Contributor

bors commented Mar 12, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 249cb84 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 12, 2025
@bors bors merged commit 249cb84 into rust-lang:master Mar 12, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 12, 2025
Copy link

Post-merge analysis result

Test differences

  • x86_64-gnu-stable
    • library/core/src/intrinsics/mod.rs - intrinsics::is_val_statically_known (line 3116): [missing] -> pass
    • compiler/rustc_macros/src/lib.rs - extension (line 55): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - DebruijnIndex::shifted_out_to_binder (line 174): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2394): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2381): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1312): [missing] -> pass
    • [ui] tests/ui/traits/next-solver/cycles/cyclic-normalization-to-error-nalgebra.rs: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3725): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1349): [missing] -> pass
    • compiler/rustc_fluent_macro/src/lib.rs - fluent_messages (line 22): [missing] -> ignore
    • (and 98 additional testss)
  • aarch64-apple
    • [ui] tests/ui/associated-type-bounds/supertrait-defines-ty.rs#next: [missing] -> pass
    • [ui] tests/ui/associated-type-bounds/hrtb.rs#current: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::copy (line 3633): [missing] -> pass
    • compiler/rustc_errors/src/lib.rs - CodeSuggestion::substitutions (line 173): [missing] -> ignore
    • compiler/rustc_hir_typeck/src/lib.rs - TupleArgumentsFlag (line 500): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - Variance::xform (line 237): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2394): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 3021): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1389): [missing] -> pass
    • compiler/rustc_hir_typeck/src/lib.rs - TupleArgumentsFlag (line 491): [missing] -> pass
    • (and 98 additional testss)
  • aarch64-gnu
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2381): [missing] -> pass
    • [ui] tests/ui/traits/next-solver/cycles/cyclic-normalization-to-error-nalgebra.rs: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2457): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1349): [missing] -> pass
    • compiler/rustc_lint_defs/src/lib.rs - declare_lint (line 893): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1401): [missing] -> pass
    • compiler/rustc_type_ir/src/solve/mod.rs - solve::CandidateSource::Impl (line 122): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2444): [missing] -> pass
    • compiler/rustc_hir_typeck/src/lib.rs - TupleArgumentsFlag (line 495): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1367): [missing] -> pass
    • (and 98 additional testss)
  • x86_64-gnu-llvm-18-3
    • compiler/rustc_type_ir/src/solve/mod.rs - solve::CandidateSource::ParamEnv (line 144): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - Variance::xform (line 237): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3709): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - DebruijnIndex::shifted_out_to_binder (line 174): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::is_val_statically_known (line 3160): [missing] -> pass
    • compiler/rustc_resolve/src/lib.rs - ModuleKind::Block (line 486): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1414): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::copy_nonoverlapping (line 3513): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - DebruijnIndex (line 85): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 3021): [missing] -> ignore
    • (and 98 additional testss)
  • x86_64-gnu-nopt
    • library/core/src/intrinsics/mod.rs - intrinsics::copy (line 3633): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::copy_nonoverlapping (line 3513): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2457): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1389): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3725): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - UniverseIndex (line 299): [missing] -> ignore
    • [ui] tests/ui/traits/next-solver/cycles/unproductive-in-coherence.rs: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1478): [missing] -> pass
    • compiler/rustc_fluent_macro/src/lib.rs - fluent_messages (line 22): [missing] -> ignore
    • compiler/rustc_hir_typeck/src/lib.rs - TupleArgumentsFlag (line 495): [missing] -> ignore
    • (and 98 additional testss)
  • x86_64-gnu-llvm-19-3
    • [ui] tests/ui/associated-type-bounds/hrtb.rs#next: [missing] -> pass
    • [ui] tests/ui/traits/next-solver/cycles/unproductive-in-coherence.rs: [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - Variance::xform (line 225): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2394): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - UniverseIndex::next_universe (line 340): [missing] -> ignore
    • [ui] tests/ui/associated-type-bounds/supertrait-defines-ty.rs#next: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1436): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2381): [missing] -> pass
    • compiler/rustc_type_ir/src/lib.rs - Variance::xform (line 237): [missing] -> ignore
    • compiler/rustc_type_ir/src/lib.rs - DebruijnIndex (line 85): [missing] -> ignore
    • (and 98 additional testss)
  • x86_64-gnu
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 3021): [missing] -> ignore
    • compiler/rustc_macros/src/lib.rs - extension (line 48): [missing] -> pass
    • compiler/rustc_errors/src/lib.rs - CodeSuggestion::substitutions (line 173): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1367): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 2985): [missing] -> pass
    • [ui] tests/ui/associated-type-bounds/hrtb.rs#next: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2457): [missing] -> pass
    • compiler/rustc_resolve/src/lib.rs - ModuleKind::Block (line 486): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1312): [missing] -> pass
    • compiler/rustc_hir_typeck/src/lib.rs - TupleArgumentsFlag (line 500): [missing] -> pass
    • (and 98 additional testss)
  • x86_64-apple-1
    • compiler/rustc_type_ir/src/lib.rs - Variance::xform (line 237): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3709): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 2985): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2444): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1329): [missing] -> pass
    • compiler/rustc_type_ir/src/solve/mod.rs - solve::CandidateSource::AliasBound (line 161): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 3021): [missing] -> ignore
    • compiler/rustc_lint_defs/src/lib.rs - declare_lint (line 893): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3725): [missing] -> pass
    • compiler/rustc_fluent_macro/src/lib.rs - fluent_messages (line 53): [missing] -> ignore
    • (and 90 additional testss)
  • x86_64-mingw-1
    • library/core/src/intrinsics/mod.rs - intrinsics::copy_nonoverlapping (line 3513): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz_nonzero (line 2479): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1414): [missing] -> pass
    • [ui] tests/ui/associated-type-bounds/hrtb.rs#next: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz (line 2457): [missing] -> pass
    • [ui] tests/ui/traits/next-solver/cycles/cyclic-normalization-to-error-nalgebra.rs: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::const_eval_select (line 3021): [missing] -> ignore
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1312): [missing] -> pass
    • [ui] tests/ui/associated-type-bounds/supertrait-defines-ty.rs#next: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::write_bytes (line 3709): [missing] -> pass
    • (and 46 additional testss)
  • x86_64-gnu-llvm-18-1
    • library/core/src/intrinsics/mod.rs - intrinsics::cttz_nonzero (line 2479): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::ctlz (line 2394): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::is_val_statically_known (line 3160): [missing] -> pass
    • [ui] tests/ui/associated-type-bounds/supertrait-defines-ty.rs#current: [missing] -> pass
    • [ui] tests/ui/traits/next-solver/cycles/cyclic-normalization-to-error-nalgebra.rs: [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::copy_nonoverlapping (line 3513): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::copy (line 3633): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1478): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1401): [missing] -> pass
    • library/core/src/intrinsics/mod.rs - intrinsics::transmute (line 1389): [missing] -> pass
    • (and 46 additional testss)

(and 20 additional diffs)

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#137314 change definitely unproductive cycles to error 7805b037cb322c6ed55de0d3dd529455e3a3aeda (link)
#137701 Convert ShardedHashMap to use hashbrown::HashTable 890ec6c2d5e7437cfd19e73fd32b9e8753e81632 (link)
#138269 uefi: fs: Implement FileType, FilePermissions and FileAttr bb68656d18c2eb5f617a86a08c4a092b2f52e712 (link)
#138331 Use RUSTC_LINT_FLAGS more 5191be4b8303d3c0399895a56b03a3b1f554f66c (link)
#138345 Some autodiff cleanups 95c85ca069602856d8ebbe8d462db4f68aca4ca1 (link)
#138387 intrinsics: remove unnecessary leading underscore from argu… 437594f7b5c7ba23cc639b8bfae8c8a7dc600b39 (link)
#138390 fix incorrect tracing log 5096443d86eff2adf3ba198fe625134f5a2d485e (link)

previous master: aaa2d47dae

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

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (249cb84): comparison URL.

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

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.4% [0.2%, 1.1%] 19
Regressions ❌
(secondary)
0.6% [0.2%, 1.1%] 32
Improvements ✅
(primary)
-0.2% [-0.2%, -0.2%] 2
Improvements ✅
(secondary)
-0.7% [-1.7%, -0.2%] 24
All ❌✅ (primary) 0.4% [-0.2%, 1.1%] 21

Max RSS (memory usage)

Results (primary -1.5%)

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

Cycles

Results (secondary 3.3%)

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)
3.3% [2.7%, 3.7%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 779.458s -> 777.224s (-0.29%)
Artifact size: 365.27 MiB -> 365.30 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. PG-exploit-mitigations Project group: Exploit mitigations 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. 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. 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.