Rollup of 24 pull requests#158847
Conversation
The disclaimers relevant for other `LocalKey` methods are relevant for `update`, so add them to the documentation.
Newly stable API:
impl<T: 'static> LocalKey<Cell<T>> {
pub fn update(&'static self, f: impl FnOnce(T) -> T)
where
T: Copy;
}
This matches the signature on `Cell`.
Tracking issue: RUST-143989
Update syntax of try build delegation in bors
do not use title case for section names
do not use title case for section names (part 2)
This updates the rust-version file to 7fb284d.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@7fb284d Filtered ref: rust-lang/rustc-dev-guide@4c2f655 Upstream diff: rust-lang/rust@8c75e93...7fb284d This merge was created using https://github.com/rust-lang/josh-sync.
Rustc pull update
update autodiff install docs for nix
Fix typo in best-practices.md
`Interned` does pointer equality/hashing, which is valid in two cases. - The values are guaranteed to be unique (e.g. via interning, or construction). This is how `rustc_middle` uses `Interned`. - The type has "identity" and different values should be considered distinct even if they are identical. This is how `rustc_resolve` uses `Interned`. PR 137202 tried to clarify things by adding a `T: Hash` constraint to `Interned<'a, T>`. This constraint isn't actually used, because `Interned` is hashed based on pointer value, not contents. But it was intended to communicate the idea that a type stored in `Interned` is actually interned, which is likely to be done with hashing. Panicking impls of `Hash` were added for the relevant `rustc_resolve` types to work around the fact that it doesn't use hashing-based interning. In my opinion PR 137202 didn't improve things. The `T: Hash` constraint is only aimed at the interning case, and even for that case it's not quite right because you could use a `BTreeMap` to intern instead of a `HashMap`. This commit does several things. - Removes the `T: Hash` constraint and the `Hash` impls for `rustc_resolve` types added in PR 137202. - Improves the comments on `Interned` to cover the non-interning cases. - Removes the `PartialOrd`/`Ord` impls on `Interned` because (a) they're not used, and (b) their meaning is unclear for the "identity" case. - Improves the documentation in `rustc_resolve` to explain how `Interned` usage is valid there.
update `FIXME(static_mut_refs)` comment to say: use raw pointers instead of references.
This is more robust then assuming it's in Program Files. We still fallback to Program Files as a last resort.
Because we use `ThinVec` rather than `Vec` almost everywhere else in the AST.
|
@bors treeclosed- |
|
Tree is now open for merging. |
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 36714a9 (parent) -> c4af710 (this PR) Test differencesShow 224 test diffsStage 0
Stage 1
Stage 2
(and 62 additional test diffs) Additionally, 62 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 c4af71034e89a431eeee91125a31ad001379faac --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: 36714a9983 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (c4af710): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@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 -2.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 0.2%, secondary -34.1%)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: 489.375s -> 490.62s (0.25%) |
View all comments
Successful merges:
-Zforce-intrinsic-fallbackflag #158377 (add-Zforce-intrinsic-fallbackflag)InhabitedPredicate::NotInModuleearlier in disjunction since it can be a lot faster #158819 (PutInhabitedPredicate::NotInModuleearlier in disjunction since it can be a lot faster)local_key_cell_update#157734 (Stabilizelocal_key_cell_update)current_exefor OpenBSD #158183 (std: allocate less memory incurrent_exefor OpenBSD)FIXME(static_mut_refs)comments #158730 (UpdateFIXME(static_mut_refs)comments)tests/ui/issues[18/N] #158752 (Reorganizetests/ui/issues[18/N])ThinVecmore in the AST #158755 (UseThinVecmore in the AST)read_le/read_be#158757 (Fix incorrect tracking issue forread_le/read_be)doc(auto_cfg values)#158765 (Fix ICE on non-ident path indoc(auto_cfg values))empty_alternate = truefor triagebot mention glob check #158838 (tidy: Useempty_alternate = truefor triagebot mention glob check)r? @ghost
Create a similar rollup