Rollup of 7 pull requests - #163449
Rollup of 7 pull requests#163449
Conversation
This function is a wrapper around `Symbol::intern`, which is already checked by the `rustc::symbol_intern_string_literal` lint.
remove `MutTy` This PR removes `ast::MutTy` and `hir::MutTy` and inlines their two fields directly into their corresponding `TypeKind` variants. These types probably made sense in pre-1.0 versions where it still had a syntax-level representation with things like `[mut T]`. Nowadays, it is just a type that is used in some, but not all places to group a type and a mutability together (for example, `rustc_type_ir` does not include such a wrapper). It also has no methods and just makes some match statements more verbose. Removing it makes them more readable.
…coding, r=petrochenkov Deterministic encoding of `DefPathHashMap` This PR splits DefPathHashMap into two parts: deterministic (`det_part`) and non-deterministic (`non_det_part`). `det_part` is used while we sure that allocation and insertion order of def ids is deterministic, at the moment of writing it happens before we start parallel checks after prefetch of `hir_crate_items` in `run_required_analysis`. Up until this point of compilation the allocation of def ids and their insertion order into `det_part` should be the same between different compilations. Next, when non-determinism starts due to parallel compilation we put all mapping between local hash and def ids into a `SortedMap` which gives us ready-to-use sorted by local hash slice of pairs to encode while encoding metadata. Note, that this PR does not solve the problem of allocation of different def indices to same code entities (meaning same local hash), this problem is solved in rust-lang#162809 by remapping needed local def indices. Also note that we serialize `det_part` as a raw bytes sequence, so during remapping if we do not place all def indices that are needed to be remapped into separate container we will end up with copying `det_part`, changing some entries in it and then serialize it as a bytes sequence. With the approach in this PR we do not copy and modify `det_part`, instead we do all modifications in `non_det_part`. r? @petrochenkov
dont store arbitrary parsed attributes in thir This leads to hard to debug crashes like rust-lang#162811 (comment) cc @JonathanBrouwer @Bryntet @saethlin
…wer,mejrs Use attribute parser for `#[inline()]` attribute check Updates rust-lang#153101 r? @JonathanBrouwer
lint on `Ident::from_str_and_span` taking a string literal This function is a wrapper around `Symbol::intern`, which is already checked by the `rustc::symbol_intern_string_literal` lint. This PR extends that lint to check `Ident::from_str_and_span` as well and updates all affected calls in the compiler. I ran into this when trying to replace some `Ident`s with `Symbol`s.
…=folkertdev Allow `#[repr(simd)]` with `f16b` Fix to allow us to create structs like; ```rust pub struct bfloat16x4_t(f16b x 4); ``` r? folkertdev
Support also `try-jobs:` to specify custom try jobs Suggested by @RalfJung in rust-lang/bors#860. How to test: - `cargo test --manifest-path src/ci/citool/Cargo.toml` - ~~`git diff --check`~~
This comment has been minimized.
This comment has been minimized.
Rollup of 7 pull requests try-job: dist-various-1 try-job: test-various try-job: test-x86_64-gnu-aux try-job: test-x86_64-gnu-llvm-21-3 try-job: test-x86_64-msvc-1 try-job: test-aarch64-apple-1 try-job: test-aarch64-apple-2 try-job: test-x86_64-mingw-1 try-job: test-i686-msvc try-job: test-armhf-gnu
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 77027b6 (parent) -> c1070d6 (this PR) Test differencesShow 34 test diffsStage 1
Stage 2
Additionally, 31 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 c1070d69382b8d2f2eb65119c738a77d9e324c9e --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 (c1070d6): 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 (secondary -3.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 490.938s -> 487.231s (-0.76%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 77027b64d8 In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
…nathanBrouwer Rollup of 7 pull requests Successful merges: - rust-lang#163327 (remove `MutTy`) - rust-lang#162910 (Deterministic encoding of `DefPathHashMap`) - rust-lang#163009 (dont store arbitrary parsed attributes in thir) - rust-lang#162683 (Use attribute parser for `#[inline()]` attribute check) - rust-lang#163429 (lint on `Ident::from_str_and_span` taking a string literal) - rust-lang#163431 (Allow `#[repr(simd)]` with `f16b`) - rust-lang#163433 (Support also `try-jobs:` to specify custom try jobs)
Successful merges:
MutTy#163327 (removeMutTy)DefPathHashMap#162910 (Deterministic encoding ofDefPathHashMap)#[inline()]attribute check #162683 (Use attribute parser for#[inline()]attribute check)Ident::from_str_and_spantaking a string literal #163429 (lint onIdent::from_str_and_spantaking a string literal)#[repr(simd)]withf16b#163431 (Allow#[repr(simd)]withf16b)try-jobs:to specify custom try jobs #163433 (Support alsotry-jobs:to specify custom try jobs)r? @ghost
Create a similar rollup