-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Rollup of 8 pull requests #151835
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 8 pull requests #151835
Conversation
…pt, r=petrochenkov hir_owner_parent optimized to inlined call for non-incremental build Continuation of rust-lang#146880 and rust-lang#147232. 'hir_owner_parent' query renamed 'hir_owner_parent_q'. hir_owner_parent inlined function added to optimize performance in case of non-incremental build. 'hir_owner_parent' query has low normalized average execution time (163ns) and good cache_hits (5773) according Daria's processed statistics. 'source_span', for comparison, has avg_ns_norm = 66ns and cache_hits = 11361. Optimization may be profitable for queries with low normalized average execution time (to replace cache lookup into inlined call) and be significant with good cache_hits. | Query | cache_hits | min_ns | max_ns | avg_ns_norm | | ------------- | ------------- | ------------- | ------------- | ------------- | source_span | 11361 | 18 | 2991 | 66 hir_owner_parent | 5773 | 52 | 1773 | 163 is_doc_hidden | 3134 | 47 | 1111 | 285 lookup_deprecation_entry | 13905 | 36 | 6208 | 287 object_lifetime_default | 5840 | 63 | 4688 | 290 upvars_mentioned | 2575 | 75 | 7722 | 322 intrinsic_raw | 21235 | 73 | 3453 | 367 Draft PR to measure performance changes.
…-placeholder-pt2, r=lcnr Move struct placeholder pt2 r? ghost
…, r=petrochenkov Suggest ignore returning value inside macro for unused_must_use lint Fixes rust-lang#151269 The first commit fix the original issue, the second commit is a code refactoring in this lint.
Rename, clarify, and document code for "erasing" query values In order to reduce compile times and code size for the compiler itself, the query system has a mechanism for “erasing” and ”restoring” query values in certain contexts. See rust-lang#109333 for the original implementation. Unfortunately, the erasure system has very little documentation, and involves a dizzying assortment of similarly-named types, traits, and functions. This PR therefore renames several parts of the erasure API and implementation to hopefully be clearer, and adds comments to better explain the purpose and mechanism behind value erasure. Summary of renames: - fn `erase` → `erase_val` (avoiding ambiguity with module `erase`) - fn `restore` → `restore_val` - type `Erase<T>` → `Erased<T>` (for actual erased values of `T`) - trait `EraseType` → `Erasable` (for types that can be erased and restored) - associated type `EraseType::Result` → `Erasable::Storage` - implementation-detail struct `Erased<T>` → `ErasedData<Storage>` There should be no change to compiler behaviour.
thread::scope: document how join interacts with TLS destructors Fixes rust-lang#116237 by documenting the current behavior regarding thread-local destructors as intended. (I'm not stoked about this, but documenting it is better than leaving it unclear.) This also adds documentation for explicit `join` calls (both for scoped and regular threads), saying that those *will* wait for TLS destructors. That reflects my understanding of the current implementation, which calls `join` on the native thread handle. Are we okay with guaranteeing that? I think we should, so people have at least some chance of implementing "wait for all destructors" manually. This fixes rust-lang#127571. Cc @rust-lang/libs-api
…szelmann,JonathanBrouwer Use `Rustc` prefix for `rustc` attrs in `AttributeKind` cc rust-lang#131229 Most `rustc_...` attrs have their variants named `RustcAttrName`, but several do not. Rename these attributes for consistency. r? @jdonszelmann
…uwer Treat unions as 'data types' in attr parsing diagnostics I found 'data types _and_ unions' to be a little surprising
…illaumeGomez Update `askama` version to `0.15.4` Hopefully it's the last `askama` update before a while. ^^' r? ghost
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: 370143facf 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 370143f (parent) -> 842bd5b (this PR) Test differencesShow 308 test diffsStage 1
Stage 2
Additionally, 306 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 842bd5be253e17831e318fdbd9d01d716557cc75 --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 (842bd5b): 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.8%, secondary -1.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -8.8%, secondary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 474.117s -> 473.781s (-0.07%) |
Successful merges:
Rustcprefix forrustcattrs inAttributeKind#151827 (UseRustcprefix forrustcattrs inAttributeKind)askamaversion to0.15.4#151834 (Updateaskamaversion to0.15.4)r? @ghost
Create a similar rollup