Rollup of 10 pull requests#157852
Conversation
When #[target_feature(enable = "sse2")] is used on an aarch64 target, the error now includes a note naming the target architecture where the feature IS valid, e.g.: = note: `sse2` is present on the `x86` target architecture. Did you mean to compile for that target, or use conditional compilation? Multi-arch features (e.g. aes on arm+aarch64+x86) get the plural form listing all matching architectures.
This reduces the amount of LLVM IR rustc generates for basically every use of `fmt::Pointer` by several hundred lines per pointee type. Most of the gain is from side-stepping a code size issue with the current implementation of `Formatter::with_field`. But even if those were fixed, it would still be an improvement: * The "is it a thin pointer?" check can't be eliminated during codegen, so rustc codegens *both* branches for every pointer type and LLVM has to clean it up later. * For wide pointers, the use of `DebugStruct` isn't a *lot* of code, but it's still a bit of extra code per wide pointer type that can easily be shared across all wide pointer types.
Same as 147495, just keeping it up-to-date.
Improve polymorphization of raw pointer formatting This reduces the amount of LLVM IR rustc generates for basically every use of `fmt::Pointer` by several hundred lines per pointee type. Most of the gain is from side-stepping a code size issue with the current implementation of `Formatter::with_field`. But even if those were fixed, it would still be an improvement: * The "is it a thin pointer?" check can't be eliminated during codegen, so rustc codegens *both* branches for every pointer type and LLVM has to clean it up later. * For wide pointers, the use of `DebugStruct` isn't a *lot* of code, but it's still a bit of extra code per wide pointer type that can easily be shared across all wide pointer types.
remove AliasTerm::def_id() this is part of rust-lang#156181 as well as part of rust-lang#152245 fyi @lcnr r? @BoxyUwU
…oxyUwU
Remove AnonConstKind::GCA and reject generic anon consts
Previously, a `GCA` type const (`type const FOO<const N: usize>: usize = const { N + 1 };`) was a type-system-transparent type const whose body immediately thunked out to an opaque regular const (albeit an anon const). The fact that there was a transparent wrapper wasn't providing anything of value, now that the user can write and rust-lang#155341.
With this PR, `GCA` variant is removed from `AnonConstKind` so that generic anon consts are rejected.
Related: rust-lang/project-const-generics#113
…ggestion, r=mu001999 Avoid ICE in unconstrained generic parameter suggestion for enums Fixes rust-lang#156701 `remove_or_use_generic` accepted structs, enums, and unions as ADT self types, but later used a local HIR lookup with `expect_struct()` when building the type-definition suggestion. That caused an ICE when the self type was an enum.
…c-improvements, r=folkertdev note which target a missing target_feature belongs to This PR attempts to improve diagnostics for invalid `target_feature` error, many years ago I experienced that [error](rust-lang#108680 (comment)) Closes: rust-lang#109531
…span, r=lolbinarycat rustdoc: correct doctest span for trailing semicolon after item Fixes rust-lang#157371. When a doctest contains a trailing semicolon after an item, rustdoc can map the resulting warning to unrelated source following the documentation block rather than to the semicolon inside the doctest. Changes only diagnostic span reporting.
…, r=BoxyUwU,samueltardieu Added `PhantomPinned` diagnostic item and prevented dead field warning on `PhantomPinned` This PR closes rust-lang#154888. See rust-lang#154978 and in [clippy#17056](rust-lang/rust-clippy#17056) for prior history on working on this issue. From discussing with clippy team, we thought it'd be appropriate to use a diagnostic item attribute to mark `PhantomPinned` and prevent dead field warnings from being emitted in `missing_fields_in_debug.rs` and `pub_underscore_fields.rs`. If you want me to do the clippy changes separately within the clippy repository, I can do that.
…mejrs,wesleywiser Ensure that optimize attributes on closures are inherited by the shim. Tracking issue: rust-lang#54882 Stabilization PR: rust-lang#157273
rustc_public: implement `ty::Alias` conversion I don't know why there is a `todo!()` here. Am I overlooking anything?
…-ld, r=Mark-Simulacrum Update wasm-component-ld to 0.5.25 Same as rust-lang#147495, just keeping it up-to-date.
This comment has been minimized.
This comment has been minimized.
Rollup of 10 pull requests Successful merges: - #157714 (Improve polymorphization of raw pointer formatting) - #157653 (remove AliasTerm::def_id()) - #157773 (Remove AnonConstKind::GCA and reject generic anon consts) - #157846 (Avoid ICE in unconstrained generic parameter suggestion for enums) - #157594 (note which target a missing target_feature belongs to) - #157740 (rustdoc: correct doctest span for trailing semicolon after item) - #157782 (Added `PhantomPinned` diagnostic item and prevented dead field warning on `PhantomPinned`) - #157802 (Ensure that optimize attributes on closures are inherited by the shim.) - #157812 (rustc_public: implement `ty::Alias` conversion) - #157833 (Update wasm-component-ld to 0.5.25)
|
💔 Test for b1eac6c failed: CI. Failed job:
|
|
Tree closed for PRs with priority less than 5. |
This comment has been minimized.
This comment has been minimized.
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
📌 Perf builds for each rolled up PR:
previous master: 4e391cf242 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
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 4e391cf (parent) -> edff07c (this PR) Test differencesShow 44 test diffsStage 1
Stage 2
Additionally, 30 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard edff07ce1a97f3eb39d438852ace6c57dd97605e --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (edff07c): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 516.925s -> 519.155s (0.43%) |
Successful merges:
PhantomPinneddiagnostic item and prevented dead field warning onPhantomPinned#157782 (AddedPhantomPinneddiagnostic item and prevented dead field warning onPhantomPinned)ty::Aliasconversion #157812 (rustc_public: implementty::Aliasconversion)r? @ghost
Create a similar rollup