- Notifications
You must be signed in to change notification settings - Fork 13.9k
Rollup of 7 pull requests #148573
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 7 pull requests #148573
Conversation
…r=joboet add extend_front to VecDeque with specialization like extend ACP: rust-lang/libs-team#658 Tracking issue: rust-lang#146975 _Text below was written before opening the ACP_ Feature was requested in rust-lang#69939, I recently also needed it so decided to implement it as my first contribution to the Rust standard library. I plan on doing more but wanted to start with a small change. Some questions I had (both on implementation and design) with answers: - Q: `extend` allows iterators that yield `&T` where `T` is `Clone`, should extend_front do too? A: No, users can use [`copied`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.copied) and/or [`cloned`](https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.cloned). - Q: Does this need a whole new trait like Extend or only a method on `VecDeque`? A: No, see ACP. - Q: How do I deal with all the code duplication? Most code is similar to that of `extend`, maybe there is a nice way to factor out the code around `push_unchecked`/`push_front_unchecked`. Will come back to this later. - Q: Why are certain things behind feature gates, `cfg(not(test))` like `vec::IntoIter` here and `cfg(not(no_global_oom_handling))` like `Vec::extend_from_within`? (I am also looking at implementing `VecDeque::extend_from_within`) A: See rust-lang#146861 (review) - Q: Should `extend_front` act like repeated pushes to the front of the queue? This reverses the order of the elements. Doing it different might incur an extra move if the iterator length is not known up front (where do you start placing elements in the buffer?). A: `extend_front` acts like repeated pushes, `prepend` preserves the element order, see ACP or tracking issue.
…on, r=yotamofek Fix invalid tag closing when leaving expansion "original code" Fixes rust-lang#148184. Problem was that in case an element inside the expansion's "original" element was not closed, this element would get its `pending_exit` field set to `true`, removing it when the next non-mergeable item gets pushed instead of being put inside it, and then next `exit_elem` would try to exit an empty class queue. r? ```@notriddle```
…te, r=lcnr Un-shadow object bound candidate in `NormalizesTo` goal if self_ty is trait object Fixes rust-lang/trait-system-refactor-initiative#244 r? lcnr
run-make tests: use edition 2024 Bump run-make tests to edition 2024 to prevent test failures when using 2024 idioms in included code, such as I ran into here: rust-lang#147808.
…eyouxu Add regression test for issue 148542 Closes rust-lang#148542
Fix ICE from async closure variance Fixes rust-lang#148488 The fix is also a change from rust-lang#148556
…illaumeGomez rustdoc-search: remove broken index special case Fixes rust-lang#148431
| @bors r+ rollup=never p=5 |
| Ah we opened rollups at the same time (#148574) ^^' |
| ☀️ Test successful - checks-actions |
| 📌 Perf builds for each rolled up PR:
previous master: c5e283b0d2 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 c5e283b (parent) -> c90bcb9 (this PR) Test differencesShow 316 test diffsStage 1
Stage 2
Additionally, 300 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 c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 --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 (c90bcb9): comparison URL. Overall result: ❌ regressions - 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)This benchmark run did not return any relevant results for this metric. CyclesResults (primary -2.1%, secondary 0.9%)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: 475.114s -> 475.185s (0.01%) |
Successful merges:
NormalizesTogoal if self_ty is trait object #148292 (Un-shadow object bound candidate inNormalizesTogoal if self_ty is trait object)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup