[INFO] cloning repository https://github.com/jihiggins/lending-stream [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jihiggins/lending-stream" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihiggins%2Flending-stream", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihiggins%2Flending-stream'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 564b516fff03b50f5bbb1f49490833d82437e1ac [INFO] testing jihiggins/lending-stream against master#595316b4006932405a63862d8fe65f71a6356293 for pr-128254 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihiggins%2Flending-stream" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jihiggins/lending-stream on toolchain 595316b4006932405a63862d8fe65f71a6356293 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jihiggins/lending-stream [INFO] finished tweaking git repo https://github.com/jihiggins/lending-stream [INFO] tweaked toml for git repo https://github.com/jihiggins/lending-stream written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jihiggins/lending-stream already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+595316b4006932405a63862d8fe65f71a6356293" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] testing jihiggins/lending-stream against try#5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b for pr-128254 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjihiggins%2Flending-stream" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jihiggins/lending-stream on toolchain 5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jihiggins/lending-stream [INFO] finished tweaking git repo https://github.com/jihiggins/lending-stream [INFO] tweaked toml for git repo https://github.com/jihiggins/lending-stream written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/jihiggins/lending-stream already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5af5491fbb9196aec67e1532646dd2a246ee76ec54b46bc271074990ae2219d8 [INFO] running `Command { std: "docker" "start" "-a" "5af5491fbb9196aec67e1532646dd2a246ee76ec54b46bc271074990ae2219d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5af5491fbb9196aec67e1532646dd2a246ee76ec54b46bc271074990ae2219d8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5af5491fbb9196aec67e1532646dd2a246ee76ec54b46bc271074990ae2219d8", kill_on_drop: false }` [INFO] [stdout] 5af5491fbb9196aec67e1532646dd2a246ee76ec54b46bc271074990ae2219d8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eb827087d1fc3770259af00f3a2e968abae285489d9c9c9d6b622219fb966545 [INFO] running `Command { std: "docker" "start" "-a" "eb827087d1fc3770259af00f3a2e968abae285489d9c9c9d6b622219fb966545", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling futures-io v0.3.28 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling futures-executor v0.3.28 [INFO] [stderr] Compiling futures v0.3.28 [INFO] [stderr] Compiling lending-stream v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(async_fn_in_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | async fn try_next<'a, T, E>(&'a mut self) -> Result, E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 9 ~ fn try_next<'a, T, E>(&'a mut self) -> impl std::future::Future, E>> + Send [INFO] [stdout] 10| where [INFO] [stdout] 11| Self: LendingStream = Result> + Unpin, [INFO] [stdout] 12| Self: 'a, [INFO] [stdout] 13~ {async { [INFO] [stdout] 14| self.next().await.transpose() [INFO] [stdout] 15~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | async fn count(mut self) -> usize [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 17 ~ fn count(mut self) -> impl std::future::Future + Send [INFO] [stdout] 18 | where [INFO] [stdout] 19 | Self: Sized + Unpin, [INFO] [stdout] 20 ~ {async { [INFO] [stdout] 21 | let mut count = 0; [INFO] [stdout] ... [INFO] [stdout] 25 | count [INFO] [stdout] 26 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | async fn collect(mut self) -> C [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 168 ~ fn collect(mut self) -> impl std::future::Future + Send [INFO] [stdout] 169 | where [INFO] [stdout] 170 | Self: Sized + Unpin, [INFO] [stdout] 171 | for<'a> C: Default + Extend>, [INFO] [stdout] 172 ~ {async { [INFO] [stdout] 173 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 177 | items [INFO] [stdout] 178 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | async fn try_collect(mut self) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 180 ~ fn try_collect(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 181 | where [INFO] [stdout] 182 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 183 | C: Default + Extend, [INFO] [stdout] 184 ~ {async { [INFO] [stdout] 185 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | async fn partition(mut self, mut predicate: P) -> (B, B) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 195 ~ fn partition(mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 196 | where [INFO] [stdout] ... [INFO] [stdout] 199 | for<'a> P: FnMut(&Self::Item<'a>) -> bool, [INFO] [stdout] 200 ~ {async { [INFO] [stdout] 201 | let mut left: B = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 210 | (left, right) [INFO] [stdout] 211 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | async fn fold(mut self, init: T, mut f: F) -> T [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 213 ~ fn fold(mut self, init: T, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 214 | where [INFO] [stdout] 215 | Self: Sized + Unpin, [INFO] [stdout] 216 | for<'a> F: FnMut(T, Self::Item<'a>) -> T, [INFO] [stdout] 217 ~ {async { [INFO] [stdout] 218 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 222 | accum [INFO] [stdout] 223 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn try_fold(&mut self, init: B, mut f: F) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 225 ~ fn try_fold(&mut self, init: B, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 226 | where [INFO] [stdout] 227 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 228 | F: FnMut(B, T) -> Result, [INFO] [stdout] 229 ~ {async { [INFO] [stdout] 230 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 234 | Ok(accum) [INFO] [stdout] 235 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | async fn nth(&mut self, mut n: usize) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 283 ~ fn nth(&mut self, mut n: usize) -> impl std::future::Future> + Send [INFO] [stdout] 284 | where [INFO] [stdout] 285 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 286 ~ {async { [INFO] [stdout] 287 | loop { [INFO] [stdout] ... [INFO] [stdout] 298 | } [INFO] [stdout] 299 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | async fn last(mut self) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 301 ~ fn last(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 302 | where [INFO] [stdout] 303 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 304 ~ {async { [INFO] [stdout] 305 | let mut last = None; [INFO] [stdout] ... [INFO] [stdout] 309 | last [INFO] [stdout] 310 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | async fn find(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 312 ~ fn find(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 313 | where [INFO] [stdout] ... [INFO] [stdout] 316 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 317 ~ {async { [INFO] [stdout] 318 | loop { [INFO] [stdout] ... [INFO] [stdout] 328 | } [INFO] [stdout] 329 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | async fn find_map(&mut self, mut f: F) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 331 ~ fn find_map(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 332 | where [INFO] [stdout] 333 | Self: Sized + Unpin, [INFO] [stdout] 334 | F: FnMut(Self::Item<'_>) -> Option, [INFO] [stdout] 335 ~ {async { [INFO] [stdout] 336 | while let Some(x) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 341 | None [INFO] [stdout] 342 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | async fn position

(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 344 ~ fn position

(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 345 | where [INFO] [stdout] 346 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 347 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 348 ~ {async { [INFO] [stdout] 349 | let mut i = 0; [INFO] [stdout] ... [INFO] [stdout] 355 | .await [INFO] [stdout] 356 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:358:5 [INFO] [stdout] | [INFO] [stdout] 358 | async fn all

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 358 ~ fn all

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 359 | where [INFO] [stdout] 360 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 361 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 362 ~ {async { [INFO] [stdout] 363 | loop { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | async fn any

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 376 ~ fn any

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 377 | where [INFO] [stdout] 378 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 379 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 380 ~ {async { [INFO] [stdout] 381 | loop { [INFO] [stdout] ... [INFO] [stdout] 391 | } [INFO] [stdout] 392 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | async fn for_each(mut self, mut f: F) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 394 ~ fn for_each(mut self, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 395 | where [INFO] [stdout] 396 | Self: Sized + Unpin, [INFO] [stdout] 397 | F: FnMut(Self::Item<'_>), [INFO] [stdout] 398 ~ {async { [INFO] [stdout] 399 | while let Some(x) = self.next().await { [INFO] [stdout] 400 | f(x); [INFO] [stdout] 401 | } [INFO] [stdout] 402 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | async fn try_for_each(&mut self, mut f: F) -> Result<(), E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 404 ~ fn try_for_each(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 405 | where [INFO] [stdout] 406 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 407 | F: FnMut(Self::Item<'_>) -> Result<(), E>, [INFO] [stdout] 408 ~ {async { [INFO] [stdout] 409 | while let Some(item) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 412 | Ok(()) [INFO] [stdout] 413 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | async fn unzip(mut self) -> (FromA, FromB) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 426 ~ fn unzip(mut self) -> impl std::future::Future + Send [INFO] [stdout] 427 | where [INFO] [stdout] ... [INFO] [stdout] 430 | for<'a> Self: LendingStream = (A, B)> + Sized + Unpin + 'a, [INFO] [stdout] 431 ~ {async { [INFO] [stdout] 432 | let mut res: (FromA, FromB) = (Default::default(), Default::default()); [INFO] [stdout] ... [INFO] [stdout] 437 | res [INFO] [stdout] 438 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.54s [INFO] running `Command { std: "docker" "inspect" "eb827087d1fc3770259af00f3a2e968abae285489d9c9c9d6b622219fb966545", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eb827087d1fc3770259af00f3a2e968abae285489d9c9c9d6b622219fb966545", kill_on_drop: false }` [INFO] [stdout] eb827087d1fc3770259af00f3a2e968abae285489d9c9c9d6b622219fb966545 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aa3f1d31b0f8fd3953cc9c2dc455081646d7ec1aeb3090a6c9e59db471fcab5a [INFO] running `Command { std: "docker" "start" "-a" "aa3f1d31b0f8fd3953cc9c2dc455081646d7ec1aeb3090a6c9e59db471fcab5a", kill_on_drop: false }` [INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(async_fn_in_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | async fn try_next<'a, T, E>(&'a mut self) -> Result, E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 9 ~ fn try_next<'a, T, E>(&'a mut self) -> impl std::future::Future, E>> + Send [INFO] [stdout] 10| where [INFO] [stdout] 11| Self: LendingStream = Result> + Unpin, [INFO] [stdout] 12| Self: 'a, [INFO] [stdout] 13~ {async { [INFO] [stdout] 14| self.next().await.transpose() [INFO] [stdout] 15~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | async fn count(mut self) -> usize [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 17 ~ fn count(mut self) -> impl std::future::Future + Send [INFO] [stdout] 18 | where [INFO] [stdout] 19 | Self: Sized + Unpin, [INFO] [stdout] 20 ~ {async { [INFO] [stdout] 21 | let mut count = 0; [INFO] [stdout] ... [INFO] [stdout] 25 | count [INFO] [stdout] 26 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | async fn collect(mut self) -> C [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 168 ~ fn collect(mut self) -> impl std::future::Future + Send [INFO] [stdout] 169 | where [INFO] [stdout] 170 | Self: Sized + Unpin, [INFO] [stdout] 171 | for<'a> C: Default + Extend>, [INFO] [stdout] 172 ~ {async { [INFO] [stdout] 173 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 177 | items [INFO] [stdout] 178 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | async fn try_collect(mut self) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 180 ~ fn try_collect(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 181 | where [INFO] [stdout] 182 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 183 | C: Default + Extend, [INFO] [stdout] 184 ~ {async { [INFO] [stdout] 185 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | async fn partition(mut self, mut predicate: P) -> (B, B) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 195 ~ fn partition(mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 196 | where [INFO] [stdout] ... [INFO] [stdout] 199 | for<'a> P: FnMut(&Self::Item<'a>) -> bool, [INFO] [stdout] 200 ~ {async { [INFO] [stdout] 201 | let mut left: B = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 210 | (left, right) [INFO] [stdout] 211 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | async fn fold(mut self, init: T, mut f: F) -> T [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 213 ~ fn fold(mut self, init: T, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 214 | where [INFO] [stdout] 215 | Self: Sized + Unpin, [INFO] [stdout] 216 | for<'a> F: FnMut(T, Self::Item<'a>) -> T, [INFO] [stdout] 217 ~ {async { [INFO] [stdout] 218 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 222 | accum [INFO] [stdout] 223 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn try_fold(&mut self, init: B, mut f: F) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 225 ~ fn try_fold(&mut self, init: B, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 226 | where [INFO] [stdout] 227 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 228 | F: FnMut(B, T) -> Result, [INFO] [stdout] 229 ~ {async { [INFO] [stdout] 230 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 234 | Ok(accum) [INFO] [stdout] 235 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | async fn nth(&mut self, mut n: usize) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 283 ~ fn nth(&mut self, mut n: usize) -> impl std::future::Future> + Send [INFO] [stdout] 284 | where [INFO] [stdout] 285 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 286 ~ {async { [INFO] [stdout] 287 | loop { [INFO] [stdout] ... [INFO] [stdout] 298 | } [INFO] [stdout] 299 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | async fn last(mut self) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 301 ~ fn last(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 302 | where [INFO] [stdout] 303 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 304 ~ {async { [INFO] [stdout] 305 | let mut last = None; [INFO] [stdout] ... [INFO] [stdout] 309 | last [INFO] [stdout] 310 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling lending-stream v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | async fn find(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 312 ~ fn find(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 313 | where [INFO] [stdout] ... [INFO] [stdout] 316 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 317 ~ {async { [INFO] [stdout] 318 | loop { [INFO] [stdout] ... [INFO] [stdout] 328 | } [INFO] [stdout] 329 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | async fn find_map(&mut self, mut f: F) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 331 ~ fn find_map(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 332 | where [INFO] [stdout] 333 | Self: Sized + Unpin, [INFO] [stdout] 334 | F: FnMut(Self::Item<'_>) -> Option, [INFO] [stdout] 335 ~ {async { [INFO] [stdout] 336 | while let Some(x) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 341 | None [INFO] [stdout] 342 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | async fn position

(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 344 ~ fn position

(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 345 | where [INFO] [stdout] 346 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 347 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 348 ~ {async { [INFO] [stdout] 349 | let mut i = 0; [INFO] [stdout] ... [INFO] [stdout] 355 | .await [INFO] [stdout] 356 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:358:5 [INFO] [stdout] | [INFO] [stdout] 358 | async fn all

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 358 ~ fn all

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 359 | where [INFO] [stdout] 360 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 361 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 362 ~ {async { [INFO] [stdout] 363 | loop { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | async fn any

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 376 ~ fn any

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 377 | where [INFO] [stdout] 378 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 379 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 380 ~ {async { [INFO] [stdout] 381 | loop { [INFO] [stdout] ... [INFO] [stdout] 391 | } [INFO] [stdout] 392 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | async fn for_each(mut self, mut f: F) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 394 ~ fn for_each(mut self, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 395 | where [INFO] [stdout] 396 | Self: Sized + Unpin, [INFO] [stdout] 397 | F: FnMut(Self::Item<'_>), [INFO] [stdout] 398 ~ {async { [INFO] [stdout] 399 | while let Some(x) = self.next().await { [INFO] [stdout] 400 | f(x); [INFO] [stdout] 401 | } [INFO] [stdout] 402 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | async fn try_for_each(&mut self, mut f: F) -> Result<(), E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 404 ~ fn try_for_each(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 405 | where [INFO] [stdout] 406 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 407 | F: FnMut(Self::Item<'_>) -> Result<(), E>, [INFO] [stdout] 408 ~ {async { [INFO] [stdout] 409 | while let Some(item) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 412 | Ok(()) [INFO] [stdout] 413 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | async fn unzip(mut self) -> (FromA, FromB) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 426 ~ fn unzip(mut self) -> impl std::future::Future + Send [INFO] [stdout] 427 | where [INFO] [stdout] ... [INFO] [stdout] 430 | for<'a> Self: LendingStream = (A, B)> + Sized + Unpin + 'a, [INFO] [stdout] 431 ~ {async { [INFO] [stdout] 432 | let mut res: (FromA, FromB) = (Default::default(), Default::default()); [INFO] [stdout] ... [INFO] [stdout] 437 | res [INFO] [stdout] 438 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(async_fn_in_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | async fn try_next<'a, T, E>(&'a mut self) -> Result, E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 9 ~ fn try_next<'a, T, E>(&'a mut self) -> impl std::future::Future, E>> + Send [INFO] [stdout] 10| where [INFO] [stdout] 11| Self: LendingStream = Result> + Unpin, [INFO] [stdout] 12| Self: 'a, [INFO] [stdout] 13~ {async { [INFO] [stdout] 14| self.next().await.transpose() [INFO] [stdout] 15~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | async fn count(mut self) -> usize [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 17 ~ fn count(mut self) -> impl std::future::Future + Send [INFO] [stdout] 18 | where [INFO] [stdout] 19 | Self: Sized + Unpin, [INFO] [stdout] 20 ~ {async { [INFO] [stdout] 21 | let mut count = 0; [INFO] [stdout] ... [INFO] [stdout] 25 | count [INFO] [stdout] 26 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | async fn collect(mut self) -> C [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 168 ~ fn collect(mut self) -> impl std::future::Future + Send [INFO] [stdout] 169 | where [INFO] [stdout] 170 | Self: Sized + Unpin, [INFO] [stdout] 171 | for<'a> C: Default + Extend>, [INFO] [stdout] 172 ~ {async { [INFO] [stdout] 173 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 177 | items [INFO] [stdout] 178 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | async fn try_collect(mut self) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 180 ~ fn try_collect(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 181 | where [INFO] [stdout] 182 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 183 | C: Default + Extend, [INFO] [stdout] 184 ~ {async { [INFO] [stdout] 185 | let mut items: C = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | async fn partition(mut self, mut predicate: P) -> (B, B) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 195 ~ fn partition(mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 196 | where [INFO] [stdout] ... [INFO] [stdout] 199 | for<'a> P: FnMut(&Self::Item<'a>) -> bool, [INFO] [stdout] 200 ~ {async { [INFO] [stdout] 201 | let mut left: B = Default::default(); [INFO] [stdout] ... [INFO] [stdout] 210 | (left, right) [INFO] [stdout] 211 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | async fn fold(mut self, init: T, mut f: F) -> T [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 213 ~ fn fold(mut self, init: T, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 214 | where [INFO] [stdout] 215 | Self: Sized + Unpin, [INFO] [stdout] 216 | for<'a> F: FnMut(T, Self::Item<'a>) -> T, [INFO] [stdout] 217 ~ {async { [INFO] [stdout] 218 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 222 | accum [INFO] [stdout] 223 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn try_fold(&mut self, init: B, mut f: F) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 225 ~ fn try_fold(&mut self, init: B, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 226 | where [INFO] [stdout] 227 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stdout] 228 | F: FnMut(B, T) -> Result, [INFO] [stdout] 229 ~ {async { [INFO] [stdout] 230 | let mut accum = init; [INFO] [stdout] ... [INFO] [stdout] 234 | Ok(accum) [INFO] [stdout] 235 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | async fn nth(&mut self, mut n: usize) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 283 ~ fn nth(&mut self, mut n: usize) -> impl std::future::Future> + Send [INFO] [stdout] 284 | where [INFO] [stdout] 285 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 286 ~ {async { [INFO] [stdout] 287 | loop { [INFO] [stdout] ... [INFO] [stdout] 298 | } [INFO] [stdout] 299 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | async fn last(mut self) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 301 ~ fn last(mut self) -> impl std::future::Future> + Send [INFO] [stdout] 302 | where [INFO] [stdout] 303 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 304 ~ {async { [INFO] [stdout] 305 | let mut last = None; [INFO] [stdout] ... [INFO] [stdout] 309 | last [INFO] [stdout] 310 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | async fn find(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 312 ~ fn find(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 313 | where [INFO] [stdout] ... [INFO] [stdout] 316 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stdout] 317 ~ {async { [INFO] [stdout] 318 | loop { [INFO] [stdout] ... [INFO] [stdout] 328 | } [INFO] [stdout] 329 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | async fn find_map(&mut self, mut f: F) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 331 ~ fn find_map(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 332 | where [INFO] [stdout] 333 | Self: Sized + Unpin, [INFO] [stdout] 334 | F: FnMut(Self::Item<'_>) -> Option, [INFO] [stdout] 335 ~ {async { [INFO] [stdout] 336 | while let Some(x) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 341 | None [INFO] [stdout] 342 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:344:5 [INFO] [stdout] | [INFO] [stdout] 344 | async fn position

(&mut self, mut predicate: P) -> Option [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 344 ~ fn position

(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stdout] 345 | where [INFO] [stdout] 346 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 347 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 348 ~ {async { [INFO] [stdout] 349 | let mut i = 0; [INFO] [stdout] ... [INFO] [stdout] 355 | .await [INFO] [stdout] 356 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:358:5 [INFO] [stdout] | [INFO] [stdout] 358 | async fn all

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 358 ~ fn all

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 359 | where [INFO] [stdout] 360 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 361 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 362 ~ {async { [INFO] [stdout] 363 | loop { [INFO] [stdout] ... [INFO] [stdout] 373 | } [INFO] [stdout] 374 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | async fn any

(&mut self, mut predicate: P) -> bool [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 376 ~ fn any

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stdout] 377 | where [INFO] [stdout] 378 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 379 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stdout] 380 ~ {async { [INFO] [stdout] 381 | loop { [INFO] [stdout] ... [INFO] [stdout] 391 | } [INFO] [stdout] 392 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | async fn for_each(mut self, mut f: F) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 394 ~ fn for_each(mut self, mut f: F) -> impl std::future::Future + Send [INFO] [stdout] 395 | where [INFO] [stdout] 396 | Self: Sized + Unpin, [INFO] [stdout] 397 | F: FnMut(Self::Item<'_>), [INFO] [stdout] 398 ~ {async { [INFO] [stdout] 399 | while let Some(x) = self.next().await { [INFO] [stdout] 400 | f(x); [INFO] [stdout] 401 | } [INFO] [stdout] 402 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | async fn try_for_each(&mut self, mut f: F) -> Result<(), E> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 404 ~ fn try_for_each(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stdout] 405 | where [INFO] [stdout] 406 | Self: LendingStream + Sized + Unpin, [INFO] [stdout] 407 | F: FnMut(Self::Item<'_>) -> Result<(), E>, [INFO] [stdout] 408 ~ {async { [INFO] [stdout] 409 | while let Some(item) = self.next().await { [INFO] [stdout] ... [INFO] [stdout] 412 | Ok(()) [INFO] [stdout] 413 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/lending_stream_ext.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | async fn unzip(mut self) -> (FromA, FromB) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 426 ~ fn unzip(mut self) -> impl std::future::Future + Send [INFO] [stdout] 427 | where [INFO] [stdout] ... [INFO] [stdout] 430 | for<'a> Self: LendingStream = (A, B)> + Sized + Unpin + 'a, [INFO] [stdout] 431 ~ {async { [INFO] [stdout] 432 | let mut res: (FromA, FromB) = (Default::default(), Default::default()); [INFO] [stdout] ... [INFO] [stdout] 437 | res [INFO] [stdout] 438 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.76s [INFO] running `Command { std: "docker" "inspect" "aa3f1d31b0f8fd3953cc9c2dc455081646d7ec1aeb3090a6c9e59db471fcab5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa3f1d31b0f8fd3953cc9c2dc455081646d7ec1aeb3090a6c9e59db471fcab5a", kill_on_drop: false }` [INFO] [stdout] aa3f1d31b0f8fd3953cc9c2dc455081646d7ec1aeb3090a6c9e59db471fcab5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+5e89635d7bf1d3033c2eb20378b7b3cbe2dd1a9b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a202ec931bdb178290efd71c22d04a1299c58dec840c283f1932fb9894683aba [INFO] running `Command { std: "docker" "start" "-a" "a202ec931bdb178290efd71c22d04a1299c58dec840c283f1932fb9894683aba", kill_on_drop: false }` [INFO] [stderr] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | #![feature(async_fn_in_trait)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | async fn try_next<'a, T, E>(&'a mut self) -> Result, E> [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 9 ~ fn try_next<'a, T, E>(&'a mut self) -> impl std::future::Future, E>> + Send [INFO] [stderr] 10| where [INFO] [stderr] 11| Self: LendingStream = Result> + Unpin, [INFO] [stderr] 12| Self: 'a, [INFO] [stderr] 13~ {async { [INFO] [stderr] 14| self.next().await.transpose() [INFO] [stderr] 15~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | async fn count(mut self) -> usize [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 17 ~ fn count(mut self) -> impl std::future::Future + Send [INFO] [stderr] 18 | where [INFO] [stderr] 19 | Self: Sized + Unpin, [INFO] [stderr] 20 ~ {async { [INFO] [stderr] 21 | let mut count = 0; [INFO] [stderr] ... [INFO] [stderr] 25 | count [INFO] [stderr] 26 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | async fn collect(mut self) -> C [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 168 ~ fn collect(mut self) -> impl std::future::Future + Send [INFO] [stderr] 169 | where [INFO] [stderr] 170 | Self: Sized + Unpin, [INFO] [stderr] 171 | for<'a> C: Default + Extend>, [INFO] [stderr] 172 ~ {async { [INFO] [stderr] 173 | let mut items: C = Default::default(); [INFO] [stderr] ... [INFO] [stderr] 177 | items [INFO] [stderr] 178 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | async fn try_collect(mut self) -> Result [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 180 ~ fn try_collect(mut self) -> impl std::future::Future> + Send [INFO] [stderr] 181 | where [INFO] [stderr] 182 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stderr] 183 | C: Default + Extend, [INFO] [stderr] 184 ~ {async { [INFO] [stderr] 185 | let mut items: C = Default::default(); [INFO] [stderr] ... [INFO] [stderr] 192 | } [INFO] [stderr] 193 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | async fn partition(mut self, mut predicate: P) -> (B, B) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 195 ~ fn partition(mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stderr] 196 | where [INFO] [stderr] ... [INFO] [stderr] 199 | for<'a> P: FnMut(&Self::Item<'a>) -> bool, [INFO] [stderr] 200 ~ {async { [INFO] [stderr] 201 | let mut left: B = Default::default(); [INFO] [stderr] ... [INFO] [stderr] 210 | (left, right) [INFO] [stderr] 211 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:213:5 [INFO] [stderr] | [INFO] [stderr] 213 | async fn fold(mut self, init: T, mut f: F) -> T [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 213 ~ fn fold(mut self, init: T, mut f: F) -> impl std::future::Future + Send [INFO] [stderr] 214 | where [INFO] [stderr] 215 | Self: Sized + Unpin, [INFO] [stderr] 216 | for<'a> F: FnMut(T, Self::Item<'a>) -> T, [INFO] [stderr] 217 ~ {async { [INFO] [stderr] 218 | let mut accum = init; [INFO] [stderr] ... [INFO] [stderr] 222 | accum [INFO] [stderr] 223 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:225:5 [INFO] [stderr] | [INFO] [stderr] 225 | async fn try_fold(&mut self, init: B, mut f: F) -> Result [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 225 ~ fn try_fold(&mut self, init: B, mut f: F) -> impl std::future::Future> + Send [INFO] [stderr] 226 | where [INFO] [stderr] 227 | for<'a> Self: LendingStream = Result> + Sized + Unpin + 'a, [INFO] [stderr] 228 | F: FnMut(B, T) -> Result, [INFO] [stderr] 229 ~ {async { [INFO] [stderr] 230 | let mut accum = init; [INFO] [stderr] ... [INFO] [stderr] 234 | Ok(accum) [INFO] [stderr] 235 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | async fn nth(&mut self, mut n: usize) -> Option [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 283 ~ fn nth(&mut self, mut n: usize) -> impl std::future::Future> + Send [INFO] [stderr] 284 | where [INFO] [stderr] 285 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stderr] 286 ~ {async { [INFO] [stderr] 287 | loop { [INFO] [stderr] ... [INFO] [stderr] 298 | } [INFO] [stderr] 299 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 301 | async fn last(mut self) -> Option [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 301 ~ fn last(mut self) -> impl std::future::Future> + Send [INFO] [stderr] 302 | where [INFO] [stderr] 303 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stderr] 304 ~ {async { [INFO] [stderr] 305 | let mut last = None; [INFO] [stderr] ... [INFO] [stderr] 309 | last [INFO] [stderr] 310 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | async fn find(&mut self, mut predicate: P) -> Option [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 312 ~ fn find(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stderr] 313 | where [INFO] [stderr] ... [INFO] [stderr] 316 | for<'a> Self: LendingStream = T> + Sized + Unpin + 'a, [INFO] [stderr] 317 ~ {async { [INFO] [stderr] 318 | loop { [INFO] [stderr] ... [INFO] [stderr] 328 | } [INFO] [stderr] 329 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | async fn find_map(&mut self, mut f: F) -> Option [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 331 ~ fn find_map(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stderr] 332 | where [INFO] [stderr] 333 | Self: Sized + Unpin, [INFO] [stderr] 334 | F: FnMut(Self::Item<'_>) -> Option, [INFO] [stderr] 335 ~ {async { [INFO] [stderr] 336 | while let Some(x) = self.next().await { [INFO] [stderr] ... [INFO] [stderr] 341 | None [INFO] [stderr] 342 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | async fn position

(&mut self, mut predicate: P) -> Option [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 344 ~ fn position

(&mut self, mut predicate: P) -> impl std::future::Future> + Send [INFO] [stderr] 345 | where [INFO] [stderr] 346 | Self: LendingStream + Sized + Unpin, [INFO] [stderr] 347 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stderr] 348 ~ {async { [INFO] [stderr] 349 | let mut i = 0; [INFO] [stderr] ... [INFO] [stderr] 355 | .await [INFO] [stderr] 356 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:358:5 [INFO] [stderr] | [INFO] [stderr] 358 | async fn all

(&mut self, mut predicate: P) -> bool [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 358 ~ fn all

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stderr] 359 | where [INFO] [stderr] 360 | Self: LendingStream + Sized + Unpin, [INFO] [stderr] 361 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stderr] 362 ~ {async { [INFO] [stderr] 363 | loop { [INFO] [stderr] ... [INFO] [stderr] 373 | } [INFO] [stderr] 374 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:376:5 [INFO] [stderr] | [INFO] [stderr] 376 | async fn any

(&mut self, mut predicate: P) -> bool [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 376 ~ fn any

(&mut self, mut predicate: P) -> impl std::future::Future + Send [INFO] [stderr] 377 | where [INFO] [stderr] 378 | Self: LendingStream + Sized + Unpin, [INFO] [stderr] 379 | P: FnMut(Self::Item<'_>) -> bool, [INFO] [stderr] 380 ~ {async { [INFO] [stderr] 381 | loop { [INFO] [stderr] ... [INFO] [stderr] 391 | } [INFO] [stderr] 392 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | async fn for_each(mut self, mut f: F) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 394 ~ fn for_each(mut self, mut f: F) -> impl std::future::Future + Send [INFO] [stderr] 395 | where [INFO] [stderr] 396 | Self: Sized + Unpin, [INFO] [stderr] 397 | F: FnMut(Self::Item<'_>), [INFO] [stderr] 398 ~ {async { [INFO] [stderr] 399 | while let Some(x) = self.next().await { [INFO] [stderr] 400 | f(x); [INFO] [stderr] 401 | } [INFO] [stderr] 402 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:404:5 [INFO] [stderr] | [INFO] [stderr] 404 | async fn try_for_each(&mut self, mut f: F) -> Result<(), E> [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 404 ~ fn try_for_each(&mut self, mut f: F) -> impl std::future::Future> + Send [INFO] [stderr] 405 | where [INFO] [stderr] 406 | Self: LendingStream + Sized + Unpin, [INFO] [stderr] 407 | F: FnMut(Self::Item<'_>) -> Result<(), E>, [INFO] [stderr] 408 ~ {async { [INFO] [stderr] 409 | while let Some(item) = self.next().await { [INFO] [stderr] ... [INFO] [stderr] 412 | Ok(()) [INFO] [stderr] 413 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stderr] --> src/lending_stream_ext.rs:426:5 [INFO] [stderr] | [INFO] [stderr] 426 | async fn unzip(mut self) -> (FromA, FromB) [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stderr] | [INFO] [stderr] 426 ~ fn unzip(mut self) -> impl std::future::Future + Send [INFO] [stderr] 427 | where [INFO] [stderr] ... [INFO] [stderr] 430 | for<'a> Self: LendingStream = (A, B)> + Sized + Unpin + 'a, [INFO] [stderr] 431 ~ {async { [INFO] [stderr] 432 | let mut res: (FromA, FromB) = (Default::default(), Default::default()); [INFO] [stderr] ... [INFO] [stderr] 437 | res [INFO] [stderr] 438 ~ } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `lending-stream` (lib) generated 18 warnings [INFO] [stderr] warning: `lending-stream` (lib test) generated 18 warnings (18 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lending_stream-d77e442bf200087a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests lending_stream [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a202ec931bdb178290efd71c22d04a1299c58dec840c283f1932fb9894683aba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a202ec931bdb178290efd71c22d04a1299c58dec840c283f1932fb9894683aba", kill_on_drop: false }` [INFO] [stdout] a202ec931bdb178290efd71c22d04a1299c58dec840c283f1932fb9894683aba