Skip to content

Conversation

@matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Nov 6, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GuillaumeGomez and others added 20 commits October 28, 2025 15:44
…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
…-closure, r=JonathanBrouwer

Fix suggestion for returning async closures

Fixes rust-lang#148493
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
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Nov 6, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 6, 2025
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/async-await/async-closures/ice-async-closure-variance-issue-148488/ice-async-closure-variance-issue-148488.stderr`
diff of stderr:

11    |
12 LL | fn ord<a>() -> _ {
13    |                ^ not allowed in type signatures
+    |
+ help: replace with an appropriate return type
+    |
+ LL - fn ord<a>() -> _ {
+ LL + fn ord<a>() -> impl AsyncFn() {
+    |
14 
15 error[E0392]: lifetime parameter `'g` is never used
16   --> $DIR/ice-async-closure-variance-issue-148488.rs:3:10


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args async-await/async-closures/ice-async-closure-variance-issue-148488.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/async-await/async-closures/ice-async-closure-variance-issue-148488.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/async-await/async-closures/ice-async-closure-variance-issue-148488" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2024"
stdout: none
--- stderr -------------------------------
warning: type parameter `a` should have an upper camel case name
##[warning]  --> /checkout/tests/ui/async-await/async-closures/ice-async-closure-variance-issue-148488.rs:6:8
   |
LL | fn ord<a>() -> _ {
   |        ^ help: convert the identifier to upper camel case: `A`
   |
   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default

error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
##[error]  --> /checkout/tests/ui/async-await/async-closures/ice-async-closure-variance-issue-148488.rs:6:16
   |
LL | fn ord<a>() -> _ {
   |                ^ not allowed in type signatures
   |
help: replace with an appropriate return type
   |
LL - fn ord<a>() -> _ {
LL + fn ord<a>() -> impl AsyncFn() {
   |

error[E0392]: lifetime parameter `'g` is never used
##[error]  --> /checkout/tests/ui/async-await/async-closures/ice-async-closure-variance-issue-148488.rs:3:10
   |
LL | struct T<'g>();
   |          ^^ unused lifetime parameter
   |
   = help: consider removing `'g`, referring to it in a field, or using a marker such as `PhantomData`

error: aborting due to 2 previous errors; 1 warning emitted

Some errors have detailed explanations: E0121, E0392.
For more information about an error, try `rustc --explain E0121`.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-search Area: Rustdoc's search feature rollup A PR which is a rollup T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants