-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Description
Code
I tried to compile this code:
//! ```cargo
//! [package]
//! name = "rust-regresion"
//! version = "0.1.0"
//! edition = "2024"
//!
//! [dependencies]
//! futures-util = "0.3.31"
//! ```
use futures_util::future::join_all;
use std::future::Future;
pub async fn copy_project1() {
async_command(async {
continue_async(move || async move {
struct CopyFileContext<'a> {
_1: &'a (),
}
impl CopyFileContext<'_> {
async fn process(&self, entry: &FileSystemTree) {
if entry.is_dir() {
join_all(entry.iter().map(|x| self.process(x))).await;
}
}
}
CopyFileContext { _1: &() }
.process(&FileSystemTree::new_file())
.await;
})
})
.await
}
#[derive(Debug)]
pub struct FileSystemTree {}
impl FileSystemTree {
pub fn new_file() -> Self {
Self {}
}
pub fn is_dir(&self) -> bool {
todo!()
}
pub fn iter(&self) -> std::slice::Iter<'_, FileSystemTree> {
todo!()
}
}
pub(crate) fn continue_async<AsyncFn, AsyncFnResult>(_: AsyncFn) -> Result<AsyncFn, ()>
where
AsyncFn: FnOnce() -> AsyncFnResult,
{
todo!()
}
pub(crate) async fn async_command<AsyncFn, AsyncFnFut>(_: impl Future<Output = Result<AsyncFn, ()>>)
where
AsyncFn: FnOnce() -> AsyncFnFut + Send + 'static,
AsyncFnFut: Future<Output = ()> + Send,
{
todo!()
}
With futures-util = "0.3.31"
as dependencies
I expected to see this happen: No error
Instead, this happened: E0275
I also tried with recursion_limit = 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536 and all failed with same error
Original code is at https://github.com/vrc-get/vrc-get/tree/e89e1340a00ebfb545db5b0330ef293d02f3e8e7/vrc-get-gui Clone the repository and checkout the revision, and building with cargo build
should cause the error.
Version it worked on
It most recently worked on: Rust 1.89.0 (current stable)
Version with regression
rustc --version --verbose
:
rustc 1.90.0-beta.1 (788da80fc 2025-08-04)
binary: rustc
commit-hash: 788da80fcfcef3f34c90def5baa32813e39a1a41
commit-date: 2025-08-04
host: aarch64-apple-darwin
release: 1.90.0-beta.1
LLVM version: 20.1.8
rustc 1.91.0-nightly (de3efa79f 2025-08-08)
binary: rustc
commit-hash: de3efa79f95852c7427587f1d535bfea7c0d6779
commit-date: 2025-08-08
host: aarch64-apple-darwin
release: 1.91.0-nightly
LLVM version: 21.1.0
Compiler output
Compiler's output without recursion_limit set (128)
I found that JoinAllKind
is shown many times so infinity recursion somewhere I think
Output
anatawa12@192:~/IdeaProjects/vrc-get/rust-regression/rust-regresion +(rustc-regression) $ cargo +beta build
Compiling rust-regresion v0.1.0 (/Users/anatawa12/IdeaProjects/vrc-get/rust-regression/rust-regresion)
error[E0275]: overflow evaluating the requirement `{async fn body of CopyFileContext<'_>::process()}: Send`
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`rust_regresion`)
note: required because it appears within the type `impl futures_util::Future<Output = ()>`
--> src/lib.rs:22:17
|
22 | async fn process(&self, entry: &FileSystemTree) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it appears within the type `stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:19:12
|
19 | struct OrderWrapper<T> {
| ^^^^^^^^^^^^
= note: required for `FuturesUnordered<stream::futures_ordered::OrderWrapper<impl futures_util::Future<Output = ()>>>` to implement `Send`
note: required because it appears within the type `FuturesOrdered<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/futures_ordered.rs:99:12
|
99 | pub struct FuturesOrdered<T: Future> {
| ^^^^^^^^^^^^^^
note: required because it appears within the type `Collect<FuturesOrdered<impl futures_util::Future<Output = ()>>, Vec<()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/stream/collect.rs:13:16
|
13 | pub struct Collect<St, C> {
| ^^^^^^^
note: required because it appears within the type `futures_util::future::join_all::JoinAllKind<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:37:6
|
37 | enum JoinAllKind<F>
| ^^^^^^^^^^^
note: required because it appears within the type `JoinAll<impl futures_util::Future<Output = ()>>`
--> /Users/anatawa12/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/future/join_all.rs:27:12
|
27 | pub struct JoinAll<F>
| ^^^^^^^
note: required because it's used within this `async` fn body
--> src/lib.rs:22:65
|
22 | async fn process(&self, entry: &FileSystemTree) {
| _________________________________________________________________^
23 | | if entry.is_dir() {
24 | | join_all(entry.iter().map(|x| self.process(x))).await;
25 | | }
26 | | }
| |_________________^
note: required because it's used within this `async` block
--> src/lib.rs:16:32
|
16 | continue_async(move || async move {
| ^^^^^^^^^^
For more information about this error, try `rustc --explain E0275`.
error: could not compile `rust-regresion` (lib) due to 1 previous error
anatawa12@192:~/IdeaProjects/vrc-get/rust-regression/rust-regresion +(rustc-regression) $
Backtrace
Not a compiler crash
@rustbot modify labels: +regression-from-stable-to-beta -regression-untriaged