Rollup of 12 pull requests#156267
Conversation
- Improve a comment. - Remove unused `[decode]` annotations on some arenas. - Improve `impl_arena_allocatable_decoder`: - Make the first rule more like the second rule. - Remove unnecessary brackets. - Remove unused support for attributes other than `decode`.
The table names usually match the name of the corresponding query. The `trait_impl_trait_tys` table is an exception; this commit renames it `collect_return_position_impl_trait_in_trait_tys` to match the query.
- Remove comment about blanket implementation of `FallibleTypeFolder` -- it does not exist. (It probably used to.) - Fix some incorrect name references. - Fix minor grammatical errors. - Fix stale comment on `visit_region` -- it was a no-op once, but no longer. LLM disclosure: Claude Code identified these problems with comments when I asked it to review `fold.rs` and `visit.rs`. I verified the correctness of the problems and made the changes by hand.
After llvm/llvm-project#195486 , LLVM has explicit handling for null pointers in simd operations instead of using special handling based on zeroes. This causes LLVM with asserts enabled to detect an improperly typed mask passed to splat (if the output vector does not have i32 elements), and can cause SIGSEGV in more complex cases with asserts disabled.
- Introduce `HAS_REGIONS`/`has_regions`, which is true if any regions are present. - Add `fold_clauses` to `Shifter` and `RegionFolder` for consistency. - Simplify `has_type_flags`. - Remove unnecessary local variables in `HasTypeFlagsVisitor` methods. - Use `|=` operator in one place. - Avoid `is_break` in one place for consistency with nearby code. LLM disclosure: Claude Code suggested these changes when I asked it to review `fold.rs` and `visit.rs`. I verified the correctness of the suggestions and made the changes by hand.
Background: * During this refactor, the Trusty OS was not targeted in the cfg_select rust-lang@e259373
also update the test to make sure there's an error
Like we do for other things for better experience in rust-analyzer. It's possible now that the `AliasTyKind` and `AliasTermKind` contains the DefId. It does require a few `try_into().unwrap()`s since in the solver's `consider_X_candidate()` only get an untyped `DefId`. It's possible to reduce that considerably if we'd pass them the typed def id as a parameter, but I don't know what will be the impact on perf.
This commit updates the documentation for WASI targets in the rustc book to mention a minimum version of wasi-sdk that's required. Closes 155971
…trochenkov Fewer global node_id_to_def_id lookups Several of these are unnecessary if we track the `LocalDefId` together with the `NodeId`. We can't remove the `NodeId` entirely, as it is needed for lints, but it's a useful refactoring for splitting node_id_to_def_id into a per-owner table in the future r? @petrochenkov
…isDenton windows/time: avoid being too close to 0 Fixes rust-lang#156142 (but only for Windows -- should we still track it for non-tier-1-platforms?)
… r=mejrs Deny warnings in the test for crates that are available on stable We've got a couple of crates, like `rustc_type_ir` that have parts disabled on stable. I believe part of this is so, for example, rust-analyzer can use bits of the compiler. We previously allowed warnings here, and I ran into one. This denies warnings in the test that compiles these stable crates (I chose not to on the crate itself, so you don't *constantly* run into the warnings if you have turned that off in `config.toml`). This test doesn't run by default, but it does run in CI.
Use special DefIds for aliases Renewal of rust-lang#155025, after `AliasTermKind` was also ported. Like we do for other things for better experience in rust-analyzer. It's possible now that the `AliasTyKind` and `AliasTermKind` contains the DefId. It does require a few `try_into().unwrap()`s since in the solver's `consider_X_candidate()` only get an untyped `DefId`. It's possible to reduce that considerably if we'd pass them the typed def id as a parameter, but I don't know what will be the impact on perf. Should I try to pursue that? r? lcnr
…affleLapkin Fold/visit tweaks Details in individual commits. r? @WaffleLapkin
… r=Zalathar Metadata macro/query cleanups Details in individual commits. r? @Zalathar
llvm: Use correct type for splat mask After llvm/llvm-project#195486 , LLVM has explicit handling for null pointers in simd operations instead of using special handling based on zeroes. This causes LLVM with asserts enabled to detect an improperly typed mask passed to splat (if the output vector does not have i32 elements), and can cause SIGSEGV in more complex cases with asserts disabled. @rustbot label: +llvm-main r? @durin42
… r=oli-obk Refactor `Type::size` field to `TypeId::size` method for `type_info` Tracking issue rust-lang#146922 r? @oli-obk
…ison Add Trusty OS to the generic error implementation. Background: * During this refactor, the Trusty OS was not targeted in the cfg_select: rust-lang@e259373 r? @randomPoison
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
Rollup of 12 pull requests Successful merges: - #156173 (Fewer global node_id_to_def_id lookups) - #156177 (windows/time: avoid being too close to 0) - #155961 (Deny warnings in the test for crates that are available on stable) - #155981 (Use special DefIds for aliases) - #156130 (Fold/visit tweaks) - #156131 (Metadata macro/query cleanups) - #156202 (llvm: Use correct type for splat mask) - #156223 (Refactor `Type::size` field to `TypeId::size` method for `type_info`) - #156227 (Add Trusty OS to the generic error implementation.) - #156237 (compiletest: prevent directives from having multiple revisions) - #156241 (Move tests coercion) - #156258 (Document wasi-sdk minimum versions for WASI targets)
|
💔 Test for c2705f8 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
Rollup of 12 pull requests try-job: x86_64-msvc-ext1
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 0e5924a (parent) -> 32bd660 (this PR) Test differencesShow 59 test diffsStage 0
Stage 1
Stage 2
Additionally, 42 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 32bd660612bf1c61bdf290a3ec643c8538b8357d --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: 0e5924a4a0 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (32bd660): comparison URL. Overall result: ✅ 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 -0.9%, secondary -0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 3.5%, secondary 9.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 498.18s -> 499.128s (0.19%) |
Successful merges:
Type::sizefield toTypeId::sizemethod fortype_info#156223 (RefactorType::sizefield toTypeId::sizemethod fortype_info)r? @ghost
Create a similar rollup