Skip to content

Rollup of 11 pull requests #140674

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

Closed
wants to merge 25 commits into from

Conversation

GuillaumeGomez
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

dianqk and others added 25 commits April 20, 2025 20:56
This can provide more opportunities for MatchBranchSimplification.
Signed-off-by: onur-ozkan <[email protected]>
Move the public `CommandEnvs` into the `process` module (and make it a wrapper type for an internal iterator type) and everything else into `sys::process` as per rust-lang#117276.
This fixes issues with RustAnalyzer not finding stable_mir crate.
It is also part of the long term architecture plan for these crates,
since we are moving towards having stable_mir depend on rustc_smir and
not the other way around.

I believe this is an utility function that will come handy eventually
for stable_mir users, but I'm keeping it as part of rustc_internal since
it initializes the StableMir context and requires `TyCtxt`.

Finally, I added the rustc_internal crate under a feature since the APIs
from this module shall not be stabilized.
This commit does the following:
  - Replaces use of rustc_type_ir by rustc_middle in rustc_infer.
  - The DelayedMap type is exposed by rustc_middle so everything can be
    accessed through rustc_middle in a coherent manner.
  - API-layer traits, like InferCtxtLike, Interner or inherent::* must be
    accessed via rustc_type_ir, not rustc_middle::ty. For this reason
    these are not reexported by rustc_middle::ty.
  - Replaces use of ty::Interner by rustc_type_ir::Interner in
    rustc_trait_selection
Trying to understand panics triggered by `t` macro calls is very exhausting (especially on CI failures)
because it doesn't provide any information about where the macro was originally invoked. This change adds
that missing information when an inner call inside the `t` macro panics.

Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
Consistent trait bounds for ExtractIf Debug impls

Closes rust-lang#137654. Refer to that issue for a table of the **4** different impl signatures we previously had in the standard library for Debug impls of various ExtractIf iterator types.

The one we are standardizing on is the one so far only used by `alloc::collections::linked_list::ExtractIf`, which is _no_ `F: Debug` bound, _no_ `F: FnMut` bound, only `T: Debug` bound.

This PR applies the following signature changes:

```diff
/* alloc::collections::btree_map */

    pub struct ExtractIf<'a, K, V, F, A = Global>
    where
-       F: 'a + FnMut(&K, &mut V) -> bool,
        Allocator + Clone,

    impl Debug for ExtractIf<'a, K, V, F,
+       A,
    >
    where
        K: Debug,
        V: Debug,
-       F: FnMut(&K, &mut V) -> bool,
+       A: Allocator + Clone,
```

```diff
/* alloc::collections::btree_set */

    pub struct ExtractIf<'a, T, F, A = Global>
    where
-       T: 'a,
-       F: 'a + FnMut(&T) -> bool,
        Allocator + Clone,

    impl Debug for ExtractIf<'a, T, F, A>
    where
        T: Debug,
-       F: FnMut(&T) -> bool,
        A: Allocator + Clone,
```

```diff
/* alloc::collections::linked_list */

    impl Debug for ExtractIf<'a, T, F,
+       A,
    >
    where
        T: Debug,
+       A: Allocator,
```

```diff
/* alloc::vec */

    impl Debug for ExtractIf<'a, T, F, A>
    where
        T: Debug,
-       F: Debug,
        A: Allocator,
-       A: Debug,
```

```diff
/* std::collections::hash_map */

    pub struct ExtractIf<'a, K, V, F>
    where
-       F: FnMut(&K, &mut V) -> bool,

    impl Debug for ExtractIf<'a, K, V, F>
    where
+       K: Debug,
+       V: Debug,
-       F: FnMut(&K, &mut V) -> bool,
```

```diff
/* std::collections::hash_set */

    pub struct ExtractIf<'a, T, F>
    where
-       F: FnMut(&T) -> bool,

    impl Debug for ExtractIf<'a, T, F>
    where
+       T: Debug,
-       F: FnMut(&T) -> bool,
```

I have made the following changes to bring these types into better alignment with one another.

- Delete `F: Debug` bounds. These are especially problematic because Rust closures do not come with a Debug impl, rendering the impl useless.

- Delete `A: Debug` bounds. Allocator parameters are unstable for now, but in the future this would become an API commitment that we do not debug-print a representation of the allocator when printing an iterator.

- Delete `F: FnMut` bounds. Requires `hashbrown` PR: rust-lang/hashbrown#616. **API commitment:** we commit to not doing RefCell voodoo inside ExtractIf to have some way for its Debug impl (which takes &amp;self) to call a FnMut closure, if this is even possible.

- Add `T: Debug` bounds (or `K`/`V`), even on Debug impls that do not currently make use of them, but might in the future. **Breaking change.** Must backport into Rust 1.87 (current beta) or do a de-stabilization PR in beta to delay those types by one release.

- Render using `debug_struct` + `finish_non_exhaustive`, instead of `debug_tuple`.

- Do not render the _entire_ underlying collection.

- Show a "peek" field indicating the current position of the iterator.
…s, r=jieyouxu,wesleywiser

Implement RFC 3503: frontmatters

Tracking issue: rust-lang#136889

Supercedes rust-lang#137193. This implements [RFC 3503](https://github.com/rust-lang/rfcs/blob/master/text/3503-frontmatter.md).

This might break rust-analyzer. Will look into how to fix that.

Suggestions welcome for how to improve diagnostics.
mir-opt: Use one MirPatch in MatchBranchSimplification
mir-opt: execute MatchBranchSimplification after GVN

This can provide more opportunities for MatchBranchSimplification.

Currently, rustc does not optimize the following code into a single statement at mir-opt, and this PR fixes the first case.

```rust
pub fn match1(c: bool, v1: i32, v2: i32) -> i32 {
    if c { v1 - v2 } else { v1 - v2 }
}

pub fn match2(c: bool, v1: i32) -> i32 {
    if c { v1 - 1 } else { v1 - 1 }
}
```

https://rust.godbolt.org/z/Y8xPMjrfM

r? mir-opt
bypass linker configuration and cross target check on `x check`

I was going to handle this using the untracked env approach, but I realized it somehow doesn't regress rust-lang#130108 anymore...

Anyway, if it works, it works. 😄 No need to dig deeper but my guess is we moved some cache-invalidating env from these functions to others.

Fixes rust-lang#133840

try-job: aarch64-apple
…lcnr

Resolve instance for SymFn in global/naked asm

`Instance::expect_resolve` ensures that we're actually going from trait item -> impl item.

Fixes rust-lang#140373
std: get rid of `sys_common::process`

Move the public `CommandEnvs` into the `process` module (and make it a wrapper type for an internal iterator type) and everything else into `sys::process` as per rust-lang#117276.

Something went wrong with a force push, so I can't reopen rust-lang#139020. This is unchanged from that PR, apart from a rebase.

r? `@thomcc`
Fix RustAnalyzer discovery of rustc's `stable_mir` crate

This fixes issues with RustAnalyzer not finding `stable_mir` crate since RA discovery traverses the dependency graph of `rustc_driver` crate.

This change also aligns with the long term architecture plan for these crates, since we are moving towards having stable_mir depend on rustc_smir and not the other way around. See [this doc](https://hackmd.io/jBRkZLqAQL2EVgwIIeNMHg) for more details.

I believe a similar function will come handy eventually for `stable_mir` users, but I'm keeping it as part of `rustc_internal` since its current format initializes the StableMir context and requires `TyCtxt`.

Finally, I added the `rustc_internal` module re-export under a feature since the APIs from this module shall not be stabilized.
…compiler-errors

Removing rustc_type_ir in the rustc_infer codebase

cc rust-lang#138449

This is a second refactoring of rustc_type_ir to use rustc_middle instead, this time that's for rustc_infer
…ro, r=Kobzol

implement `PanicTracker` to track `t` panics

Trying to understand panics triggered by `t` macro is very exhausting (especially on CI failures) because it doesn't provide any information about where the macro was originally invoked. This change adds that missing information when an inner call inside the `t` macro panics.

Resolves rust-lang#137557
Make `-Zfixed-x18` into a target modifier

As part of rust-lang#136966, the `-Zfixed-x18` flag should be turned into a target modifier. This is a blocker to stabilization of the flag. The flag was originally added in rust-lang#124655 and the MCP for its addition is [MCP#748](rust-lang/compiler-team#748).

On some aarch64 targets, the x18 register is used as a temporary caller-saved register by default. When the `-Zfixed-x18` flag is passed, this is turned off so that the compiler doesn't use the x18 register. This allows end-users to use the x18 register for other purposes. For example, by accessing it with inline asm you can use the register as a very efficient thread-local variable. Another common use-case is to store the stack pointer needed by the shadow-call-stack sanitizer. There are also some aarch64 targets where not using x18 is the default – in those cases the flag is a no-op.

Note that this flag does not *on its own* cause an ABI mismatch. What actually causes an ABI mismatch is when you have different compilation units that *disagree* on what it should be used for. But having a CU that uses it and another CU that doesn't normally isn't enough to trigger an ABI problem. However, we still consider the flag to be a target modifier in all cases, since it is assumed that you are passing the flag because you intend to assign some other meaning to the register. Rejecting all flag mismatches even if not all are unsound is consistent with [RFC#3716](https://rust-lang.github.io/rfcs/3716-target-modifiers.html). See the headings "not all mismatches are unsound" and "cases that are not caught" for additional discussion of this.

On aarch64 targets where `-Zfixed-x18` is not a no-op, it is an error to pass `-Zsanitizer=shadow-call-stack` without also passing `-Zfixed-x18`.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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. labels May 5, 2025
@rustbot rustbot added 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 May 5, 2025
@GuillaumeGomez
Copy link
Member Author

@bors r+ p=5 rollup=never

@bors
Copy link
Collaborator

bors commented May 5, 2025

📌 Commit 5b2887b has been approved by GuillaumeGomez

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 5, 2025
@bors
Copy link
Collaborator

bors commented May 5, 2025

⌛ Testing commit 5b2887b with merge a45dc87...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 5, 2025
…llaumeGomez

Rollup of 11 pull requests

Successful merges:

 - rust-lang#139764 (Consistent trait bounds for ExtractIf Debug impls)
 - rust-lang#140035 (Implement RFC 3503: frontmatters)
 - rust-lang#140080 (mir-opt: Use one MirPatch in MatchBranchSimplification)
 - rust-lang#140115 (mir-opt: execute MatchBranchSimplification after GVN)
 - rust-lang#140357 (bypass linker configuration and cross target check on `x check`)
 - rust-lang#140374 (Resolve instance for SymFn in global/naked asm)
 - rust-lang#140393 (std: get rid of `sys_common::process`)
 - rust-lang#140532 (Fix RustAnalyzer discovery of rustc's `stable_mir` crate)
 - rust-lang#140559 (Removing rustc_type_ir in the rustc_infer codebase)
 - rust-lang#140636 (implement `PanicTracker` to track `t` panics)
 - rust-lang#140661 (Make `-Zfixed-x18` into a target modifier)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job aarch64-apple failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Testing parser-tuple.js ... OK
Testing parser-weird-queries.js ... OK
Testing path-end-empty.js ... OK
Testing path-maxeditdistance.js ... FAILED
[ query `vec::iter`]==> Exact check failed at position 3: expected '{"path":"std::vec::Drain","name":"into_iter"}' but found '{"parent":{"ty":5,"name":"ExtractIf","path":"std::vec","exactPath":"alloc::vec::extract_if","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"dist":2,"path_dist":0,"index":4,"desc":"","item":{"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1588,"exactPath":"alloc::vec::extract_if","parent":{"ty":5,"name":"ExtractIf","path":"std::vec","exactPath":"alloc::vec::extract_if","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"paramNames":["I"],"id":73052,"word":"into_iter","normalizedName":"intoiter","bitIndex":25520,"implDisambiguator":null},"displayPath":"<span>std::</span><span>vec::</span><span>ExtractIf::</span>","fullPath":"alloc::vec::extract_if::ExtractIf::into_iter|13","href":"../std/vec/struct.ExtractIf.html#method.into_iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1588,"exactPath":"alloc::vec::extract_if","paramNames":["I"],"id":73052,"word":"into_iter","normalizedName":"intoiter","bitIndex":25520,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 3: expected '{"path":"std::vec::IntoIter","name":"into_iter"}' but found '{"parent":{"ty":5,"name":"Drain","path":"std::vec","exactPath":"alloc::vec::drain","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"dist":2,"path_dist":0,"index":4,"desc":"","item":{"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1588,"exactPath":"alloc::vec::drain","parent":{"ty":5,"name":"Drain","path":"std::vec","exactPath":"alloc::vec::drain","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"paramNames":["I"],"id":73053,"word":"into_iter","normalizedName":"intoiter","bitIndex":25521,"implDisambiguator":null},"displayPath":"<span>std::</span><span>vec::</span><span>Drain::</span>","fullPath":"alloc::vec::drain::Drain::into_iter|13","href":"../std/vec/struct.Drain.html#method.into_iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1588,"exactPath":"alloc::vec::drain","paramNames":["I"],"id":73053,"word":"into_iter","normalizedName":"intoiter","bitIndex":25521,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 4: expected '{"path":"std::vec::Splice","name":"into_iter"}' but found '{"parent":{"ty":5,"name":"Splice","path":"std::vec","exactPath":"alloc::vec::splice","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"dist":2,"path_dist":0,"index":4,"desc":"","item":{"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1589,"exactPath":"alloc::vec::splice","parent":{"ty":5,"name":"Splice","path":"std::vec","exactPath":"alloc::vec::splice","unboxFlag":false},"type":{"inputs":[],"output":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"where_clause":[[]]},"paramNames":["I"],"id":73058,"word":"into_iter","normalizedName":"intoiter","bitIndex":25526,"implDisambiguator":null},"displayPath":"<span>std::</span><span>vec::</span><span>Splice::</span>","fullPath":"alloc::vec::splice::Splice::into_iter|13","href":"../std/vec/struct.Splice.html#method.into_iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"into_iter","path":"std::vec","descShard":{"crate":"std","shard":4,"start":9127,"len":1625,"promise":{}},"descIndex":1589,"exactPath":"alloc::vec::splice","paramNames":["I"],"id":73058,"word":"into_iter","normalizedName":"intoiter","bitIndex":25526,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 4: expected '{"path":"std::collections::VecDeque","name":"iter"}' but found '{"parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":11,"name":"reference","ty":1,"path":null,"exactPath":null,"generics":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"bindings":{},"unboxFlag":true}],"output":[{"id":67,"name":"Iter","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::iter","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"dist":0,"path_dist":1,"index":0,"desc":"Returns a front-to-back iterator.","item":{"crate":"std","ty":13,"name":"iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1530,"exactPath":"alloc::collections::vec_deque","parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":11,"name":"reference","ty":1,"path":null,"exactPath":null,"generics":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"bindings":{},"unboxFlag":true}],"output":[{"id":67,"name":"Iter","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::iter","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"paramNames":["T","A"],"id":55732,"word":"iter","normalizedName":"iter","bitIndex":8200,"implDisambiguator":null},"displayPath":"<span>std::</span><span>collections::</span><span>VecDeque::</span>","fullPath":"alloc::collections::vec_deque::VecDeque::iter|13","href":"../std/collections/struct.VecDeque.html#method.iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1530,"exactPath":"alloc::collections::vec_deque","paramNames":["T","A"],"id":55732,"word":"iter","normalizedName":"iter","bitIndex":8200,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 4: expected '{"path":"std::collections::VecDeque","name":"iter_mut"}' but found '{"parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":11,"name":"reference","ty":1,"path":null,"exactPath":null,"generics":[{"id":22,"name":"mut","ty":0,"path":"std","exactPath":"std","generics":[],"bindings":{},"unboxFlag":false},{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"bindings":{},"unboxFlag":true}],"output":[{"id":66,"name":"IterMut","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::iter_mut","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"dist":2,"path_dist":1,"index":0,"desc":"Returns a front-to-back iterator that returns mutable …","item":{"crate":"std","ty":13,"name":"iter_mut","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1534,"exactPath":"alloc::collections::vec_deque","parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":11,"name":"reference","ty":1,"path":null,"exactPath":null,"generics":[{"id":22,"name":"mut","ty":0,"path":"std","exactPath":"std","generics":[],"bindings":{},"unboxFlag":false},{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"bindings":{},"unboxFlag":true}],"output":[{"id":66,"name":"IterMut","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::iter_mut","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"paramNames":["T","A"],"id":55736,"word":"iter_mut","normalizedName":"itermut","bitIndex":8204,"implDisambiguator":null},"displayPath":"<span>std::</span><span>collections::</span><span>VecDeque::</span>","fullPath":"alloc::collections::vec_deque::VecDeque::iter_mut|13","href":"../std/collections/struct.VecDeque.html#method.iter_mut","displayTypeSignature":null,"crate":"std","ty":13,"name":"iter_mut","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1534,"exactPath":"alloc::collections::vec_deque","paramNames":["T","A"],"id":55736,"word":"iter_mut","normalizedName":"itermut","bitIndex":8204,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 4: expected '{"path":"std::collections::VecDeque","name":"from_iter"}' but found '{"parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"output":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":50,"name":"IntoIterator","ty":10,"path":"std::iter","exactPath":"core::iter::traits::collect","generics":[],"bindings":{},"unboxFlag":false}]]},"dist":2,"path_dist":1,"index":4,"desc":"","item":{"crate":"std","ty":13,"name":"from_iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1455,"exactPath":"alloc::collections::vec_deque","parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"output":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":50,"name":"IntoIterator","ty":10,"path":"std::iter","exactPath":"core::iter::traits::collect","generics":[],"bindings":{},"unboxFlag":false}]]},"paramNames":["T","I"],"id":55638,"word":"from_iter","normalizedName":"fromiter","bitIndex":8106,"implDisambiguator":null},"displayPath":"<span>std::</span><span>collections::</span><span>VecDeque::</span>","fullPath":"alloc::collections::vec_deque::VecDeque::from_iter|13","href":"../std/collections/struct.VecDeque.html#method.from_iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"from_iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1455,"exactPath":"alloc::collections::vec_deque","paramNames":["T","I"],"id":55638,"word":"from_iter","normalizedName":"fromiter","bitIndex":8106,"implDisambiguator":null}'
[ query `vec::iter`]==> Exact check failed at position 4: expected '{"path":"std::collections::VecDeque","name":"into_iter"}' but found '{"parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"output":[{"id":65,"name":"IntoIter","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::into_iter","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"dist":2,"path_dist":1,"index":4,"desc":"Consumes the deque into a front-to-back iterator yielding …","item":{"crate":"std","ty":13,"name":"into_iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1503,"exactPath":"alloc::collections::vec_deque","parent":{"ty":5,"name":"VecDeque","path":"std::collections","exactPath":"alloc::collections::vec_deque","unboxFlag":false},"type":{"inputs":[{"id":132,"name":"VecDeque","ty":5,"path":"std::collections","exactPath":"alloc::collections::vec_deque","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"output":[{"id":65,"name":"IntoIter","ty":5,"path":"std::collections::vec_deque","exactPath":"alloc::collections::vec_deque::into_iter","generics":[{"id":-1,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true},{"id":-2,"name":"","ty":26,"path":null,"exactPath":null,"generics":[],"bindings":{},"unboxFlag":true}],"bindings":{},"unboxFlag":false}],"where_clause":[[],[{"id":18,"name":"Allocator","ty":10,"path":"std::alloc","exactPath":"core::alloc","generics":[],"bindings":{},"unboxFlag":false}]]},"paramNames":["T","A"],"id":55703,"word":"into_iter","normalizedName":"intoiter","bitIndex":8171,"implDisambiguator":"impl-IntoIterator-for-VecDeque%3CT,+A%3E"},"displayPath":"<span>std::</span><span>collections::</span><span>VecDeque::</span>","fullPath":"alloc::collections::vec_deque::VecDeque::into_iter|13","href":"../std/collections/struct.VecDeque.html#impl-IntoIterator-for-VecDeque%3CT,+A%3E/method.into_iter","displayTypeSignature":null,"crate":"std","ty":13,"name":"into_iter","path":"std::collections","descShard":{"crate":"std","shard":1,"start":2110,"len":2423,"promise":{}},"descIndex":1503,"exactPath":"alloc::collections::vec_deque","paramNames":["T","A"],"id":55703,"word":"into_iter","normalizedName":"intoiter","bitIndex":8171,"implDisambiguator":"impl-IntoIterator-for-VecDeque%3CT,+A%3E"}'
Testing path-ordering.js ... OK
Testing primitive.js ... OK
Testing println-typo.js ... OK
Testing quoted.js ... OK
Testing reference-shrink.js ... OK
---
Testing unbox-type-result.js ... OK
Testing vec-new.js ... OK
Testing vec-type-signatures.js ... OK
Testing write.js ... OK
Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:54:19
  local time: Mon May  5 19:12:39 UTC 2025
  network time: Mon, 05 May 2025 19:12:40 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@bors
Copy link
Collaborator

bors commented May 5, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 5, 2025
@jieyouxu
Copy link
Member

jieyouxu commented May 5, 2025

#139764
@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 5, 2025
@jieyouxu jieyouxu closed this May 5, 2025
@GuillaumeGomez GuillaumeGomez deleted the rollup-x9tjva8 branch May 5, 2025 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.