Rollup of 13 pull requests#156441
Conversation
internal: fix incorrect offset on multiple indel
Clarify that `SmolStr` doesn't allocate when cloning
I really hate the way it was done, we should improve the editor.
internal: add vendor/ to gitignore
Store the chain of parents in an `ArrayVec` and not as `Option<Box>`. This should help perf and it simplifies the code.
Unfortunately, this causes `Semantics` to become invariant over its lifetime, which necessitates large changes, but the changes from `hir` downwards are mechanical and could use a skim review.
…ons-const-block fix: Add missing exprs to visiting
…ization minor: Remove impl of `Predicate::allow_normalization`
…rics perf/internal: Refactor the hir-ty generics data structures
internal: Remove some `Arc`s
feat: add diagnostic for E0784
internal: Remove more arcs
Example
---
```rust
trait SomeTrait<T> {}
trait Foo<T> {
fn function()
where Self: SomeTrait<T>;
}
impl Foo<u32> for Bar {
fn f$0
}
```
**Before this PR**
```rust
impl Foo<u32> for Bar {
fn function()
where Self: SomeTrait<u32> {
$0
}
}
```
**After this PR**
```rust
impl Foo<u32> for Bar {
fn function()
where Self: SomeTrait<u32>
{
$0
}
}
```
Resolves two FIXMEs in hir-ty/src/infer/pat.rs's check_array_pat_len. Adds an InferenceDiagnostic::MismatchedArrayPatLen variant that distinguishes exact-length mismatches (rustc E0527) from rest-pat under-length cases (E0528). Renders to "pattern requires N elements but array has M" or "pattern requires at least N elements but array has M" respectively. Tests cover too-few, too-many, rest-too-short, rest-ok, exact-ok, and singular-element pluralization. Part of rust-lang/rust-analyzer#22140.
prepare fs tests for miri - reduce iteration counts to get rid of timeouts - disable one test that relies on spawning processes
…crum Update ICU4X to 2.2 Needs a data regen.
…reads, r=Mark-Simulacrum kernel_copy tests: properly join background threads This helps Miri because when there are threads just hanging in the background, we cannot check for memory leaks. I think even without Miri this currently leads to 100% CPU load on one core for each of these threads: once the test function returns and `sink` gets dropped, the `read` in the thread will always immediately return `0`, and then we just loop with that forever until the process exits.
resolve: Module-related refactorings Extracted parts of rust-lang#156362 that don't require splitting `(Local,Extern)ModuleData` into separate data structures. - Some `expect_local` assertions are added - Methods that need to exist on all of `Module` and `(Local,Extern)Module` are implemented for `ModuleData` - Methods that need to exist on `ModuleKind` are moved to `ModuleKind` - Some unnecessary complicated logic using `graph_root` is simplified - `glob_importers` are filled and used only for local modules. - Some unnecessary logic is skipped for extern modules in `resolve_ident_in_module_non_globs_unadjusted` - Module construction functions are cleaned up - `module_to_string` is simplified r? @nnethercote
…y, r=clubby789 Refuse to push changes with a dirty git client I've run into the issue more than once where I've fixed an issue in my client but forgotten to commit it one way or another. The verification succeeds because the files on disk are correct even though the files in the commit being pushed are incorrect. This change checks to see if there are any uncommitted changes in tracked files in the client before running the tidy checks.
…ark-Simulacrum Update `sysinfo` version to `0.39.0` Bugfixes, new API and performance improvement. Full changelog is [here](https://github.com/GuillaumeGomez/sysinfo/blob/main/CHANGELOG.md).
…i-obk remove allows_weak_linkage target spec flag The flag doesn't actually do anything. I have no idea what it's original purpose was. It got introduced in rust-lang@59cfe90, but already a few months later in rust-lang@5795098 both of its uses were removed when the entire file `src/librustc_trans/closure.rs` got deleted. It seems like back in the day we used weak linkage for closures by default and MinGW wasn't happy about that? But not much later the way we compile closures got changed, making the work-around unnecessary. The flag has then persisted unused for 10 years. A couple of Windows/UEFI targets are setting `allows_weak_linkage: false` but I assume that was just cargo-culted. But to be sure, let's ping the folks listed for the affected targets and other Windows folks: @dvdhrm @nicholasbishop @Berrysoft @mati865 @thomcc @tbu- @ChrisDenton
Remove some dead code for dumping MIR for a single DefId The functions that call `dump_mir_def_ids` are themselves never called with a specific DefId; they always dump MIR for the entire crate.
…mulacrum Improve doc comments for f32::ceil() and f32::floor() Previously ::floor() included an example showing behaviour for negative values, but ::ceil() did not. Ensure both have examples of the negative case, for both f32 and f64. Whilst we're here, tweak the wording slightly so it reads better.
bootstrap: Don't panic on `x install --set build.extended=true` This was a regression from rust-lang#155732. The Cargo submodule wasn't checked out, so reading from Cargo.toml didn't work. Return a fake version during dry-runs to avoid unnecessarily checking out submodules. Fixes rust-lang#156408.
…egers, r=Urgau Fix unwanted "Available on XX-bit only" in libcore integers Fixes rust-lang#149786. The problem came from: <img width="754" height="734" alt="image" src="https://github.com/user-attachments/assets/c251326f-8640-420d-bc4c-a3246390ea67" /> The `doc_cfg` feature picks the `cfg` as it should. If we don't want it, we simply need to disable the feature on it. With this fix, no more `cfg` annotations: <img width="860" height="590" alt="image" src="https://github.com/user-attachments/assets/da793590-bf43-4874-94e1-a56809938420" /> r? @Urgau
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
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 8afb6a8 (parent) -> 64a965e (this PR) Test differencesShow 1054 test diffsStage 0
Stage 1
(and 256 additional test diffs) Additionally, 698 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 64a965e9013a9d14e83c4d370af26f6be6bf96fb --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 |
|
📌 Perf builds for each rolled up PR:
previous master: 8afb6a8b1b In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (64a965e): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary 12.0%, secondary 3.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 497.61s -> 498.063s (0.09%) |
Successful merges:
rust-analyzersubtree update #156437 (rust-analyzersubtree update)sysinfoversion to0.39.0#156282 (Updatesysinfoversion to0.39.0)x install --set build.extended=true#156411 (bootstrap: Don't panic onx install --set build.extended=true)r? @ghost
Create a similar rollup