[INFO] cloning repository https://github.com/divoxx/echosrv [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/divoxx/echosrv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivoxx%2Fechosrv", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivoxx%2Fechosrv'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a1b0b6d0135ee308a17c669e9edf300af6f3d213 [INFO] testing divoxx/echosrv against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdivoxx%2Fechosrv" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/divoxx/echosrv [INFO] finished tweaking git repo https://github.com/divoxx/echosrv [INFO] tweaked toml for git repo https://github.com/divoxx/echosrv written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/divoxx/echosrv on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/divoxx/echosrv 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rand_xorshift v0.4.0 [INFO] [stderr] Downloaded oorandom v11.1.5 [INFO] [stderr] Downloaded redox_syscall v0.5.15 [INFO] [stderr] Downloaded tokio-test v0.4.4 [INFO] [stderr] Downloaded wait-timeout v0.2.1 [INFO] [stderr] Downloaded tracing-error v0.2.1 [INFO] [stderr] Downloaded rustc-demangle v0.1.25 [INFO] [stderr] Downloaded owo-colors v4.2.2 [INFO] [stderr] Downloaded color-spantrace v0.3.0 [INFO] [stderr] Downloaded clap v4.5.41 [INFO] [stderr] Downloaded crunchy v0.2.4 [INFO] [stderr] Downloaded proptest v1.7.0 [INFO] [stderr] Downloaded clap_builder v4.5.41 [INFO] [stderr] Downloaded color-eyre v0.6.5 [INFO] [stderr] Downloaded tokio v1.46.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 545d6fceb7838e1ecbebce00b2c5f1d5c0c4f84ac56f41ef9d24ccc981f4e8a6 [INFO] running `Command { std: "docker" "start" "-a" "545d6fceb7838e1ecbebce00b2c5f1d5c0c4f84ac56f41ef9d24ccc981f4e8a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "545d6fceb7838e1ecbebce00b2c5f1d5c0c4f84ac56f41ef9d24ccc981f4e8a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "545d6fceb7838e1ecbebce00b2c5f1d5c0c4f84ac56f41ef9d24ccc981f4e8a6", kill_on_drop: false }` [INFO] [stdout] 545d6fceb7838e1ecbebce00b2c5f1d5c0c4f84ac56f41ef9d24ccc981f4e8a6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c5d146a59d94f0935e617b45be21aac921a9aa60bcf97a6502e0f89f48b0d2d [INFO] running `Command { std: "docker" "start" "-a" "9c5d146a59d94f0935e617b45be21aac921a9aa60bcf97a6502e0f89f48b0d2d", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling owo-colors v4.2.2 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling rustc-demangle v0.1.25 [INFO] [stderr] Compiling indenter v0.3.3 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling http v1.3.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling tokio v1.46.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling color-eyre v0.6.5 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling echosrv v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/network/fd_inheritance.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromRawFd` [INFO] [stdout] --> src/network/socket_builder.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | use std::os::unix::io::{FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/datagram_protocol.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixDatagramExt` [INFO] [stdout] --> src/unix/server.rs:4:38 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::unix::datagram_protocol::{UnixDatagramExt, UnixDatagramProtocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixStreamExt` [INFO] [stdout] --> src/unix/server.rs:5:56 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unix::stream_protocol::{UnixStreamProtocol, UnixStreamExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/stream_protocol.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stream::protocol::StreamProtocol` [INFO] [stdout] --> src/unix/server.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::stream::protocol::StreamProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::datagram::protocol::DatagramProtocol` [INFO] [stdout] --> src/unix/server.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::datagram::protocol::DatagramProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/datagram_protocol.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | async fn bind(config: &crate::datagram::DatagramConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/unix/server.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut listener = UnixStreamProtocol::bind_unix_with_inheritance( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/stream_protocol.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | async fn bind(config: &crate::stream::StreamConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/security/limits.rs:113:37 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result, ConnectionError> { [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/unix/datagram_protocol.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | async fn create_client_socket() -> 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] = 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] 216 - async fn create_client_socket() -> Result; [INFO] [stdout] 216 + fn create_client_socket() -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn connect_unix(path: &PathBuf) -> 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 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 225 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | async fn bind_abstract(name: &str) -> 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] 235 - async fn bind_abstract(name: &str) -> Result; [INFO] [stdout] 235 + fn bind_abstract(name: &str) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | async fn connect_unix(path: &PathBuf) -> 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] 230 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 230 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | async fn connect_abstract(name: &str) -> 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] 240 - async fn connect_abstract(name: &str) -> Result; [INFO] [stdout] 240 + fn connect_abstract(name: &str) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.39s [INFO] running `Command { std: "docker" "inspect" "9c5d146a59d94f0935e617b45be21aac921a9aa60bcf97a6502e0f89f48b0d2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c5d146a59d94f0935e617b45be21aac921a9aa60bcf97a6502e0f89f48b0d2d", kill_on_drop: false }` [INFO] [stdout] 9c5d146a59d94f0935e617b45be21aac921a9aa60bcf97a6502e0f89f48b0d2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2931cc0b9e3548c7698472eeeb394ceda0ee058867aad6e0b928ab67cf775706 [INFO] running `Command { std: "docker" "start" "-a" "2931cc0b9e3548c7698472eeeb394ceda0ee058867aad6e0b928ab67cf775706", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling tokio v1.46.1 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling clap_builder v4.5.41 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling clap v4.5.41 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling color-eyre v0.6.5 [INFO] [stderr] Compiling echosrv v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/network/fd_inheritance.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromRawFd` [INFO] [stdout] --> src/network/socket_builder.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | use std::os::unix::io::{FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/datagram_protocol.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixDatagramExt` [INFO] [stdout] --> src/unix/server.rs:4:38 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::unix::datagram_protocol::{UnixDatagramExt, UnixDatagramProtocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixStreamExt` [INFO] [stdout] --> src/unix/server.rs:5:56 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unix::stream_protocol::{UnixStreamProtocol, UnixStreamExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/stream_protocol.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stdout] warning: unused import: `crate::stream::protocol::StreamProtocol` [INFO] [stdout] --> src/unix/server.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::stream::protocol::StreamProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::datagram::protocol::DatagramProtocol` [INFO] [stdout] --> src/unix/server.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::datagram::protocol::DatagramProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/datagram_protocol.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | async fn bind(config: &crate::datagram::DatagramConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/unix/server.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut listener = UnixStreamProtocol::bind_unix_with_inheritance( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/stream_protocol.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | async fn bind(config: &crate::stream::StreamConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/security/limits.rs:113:37 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result, ConnectionError> { [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/unix/datagram_protocol.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | async fn create_client_socket() -> 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] = 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] 216 - async fn create_client_socket() -> Result; [INFO] [stdout] 216 + fn create_client_socket() -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn connect_unix(path: &PathBuf) -> 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 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 225 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | async fn bind_abstract(name: &str) -> 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] 235 - async fn bind_abstract(name: &str) -> Result; [INFO] [stdout] 235 + fn bind_abstract(name: &str) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | async fn connect_unix(path: &PathBuf) -> 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] 230 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 230 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | async fn connect_abstract(name: &str) -> 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] 240 - async fn connect_abstract(name: &str) -> Result; [INFO] [stdout] 240 + fn connect_abstract(name: &str) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `echosrv::unix::Protocol`, `echosrv::unix::StreamExt` [INFO] [stdout] --> tests/comprehensive_integration.rs:209:25 [INFO] [stdout] | [INFO] [stdout] 209 | use echosrv::unix::{Protocol, StreamExt}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ no `StreamExt` in `unix` [INFO] [stdout] | | [INFO] [stdout] | no `Protocol` in `unix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/network/fd_inheritance.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromRawFd` [INFO] [stdout] --> src/network/socket_builder.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | use std::os::unix::io::{FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/datagram_protocol.rs:16:38 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixDatagramExt` [INFO] [stdout] --> src/unix/server.rs:4:38 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::unix::datagram_protocol::{UnixDatagramExt, UnixDatagramProtocol}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UnixStreamExt` [INFO] [stdout] --> src/unix/server.rs:5:56 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::unix::stream_protocol::{UnixStreamProtocol, UnixStreamExt}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BindStrategy` [INFO] [stdout] --> src/unix/stream_protocol.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::network::fd_inheritance::{BindStrategy, FdInheritanceConfig}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `echosrv` (test "comprehensive_integration") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `crate::stream::protocol::StreamProtocol` [INFO] [stdout] --> src/unix/server.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::stream::protocol::StreamProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::datagram::protocol::DatagramProtocol` [INFO] [stdout] --> src/unix/server.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::datagram::protocol::DatagramProtocol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/datagram_protocol.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | async fn bind(config: &crate::datagram::DatagramConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/unix/server.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut listener = UnixStreamProtocol::bind_unix_with_inheritance( [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/unix/stream_protocol.rs:140:19 [INFO] [stdout] | [INFO] [stdout] 140 | async fn bind(config: &crate::stream::StreamConfig) -> std::result::Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/security/limits.rs:113:37 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn acquire_connection(&self) -> Result, ConnectionError> { [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/unix/datagram_protocol.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | async fn create_client_socket() -> 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] = 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] 216 - async fn create_client_socket() -> Result; [INFO] [stdout] 216 + fn create_client_socket() -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | async fn connect_unix(path: &PathBuf) -> 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 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 225 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/datagram_protocol.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | async fn bind_abstract(name: &str) -> 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] 235 - async fn bind_abstract(name: &str) -> Result; [INFO] [stdout] 235 + fn bind_abstract(name: &str) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 230 | async fn connect_unix(path: &PathBuf) -> 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] 230 - async fn connect_unix(path: &PathBuf) -> Result; [INFO] [stdout] 230 + fn connect_unix(path: &PathBuf) -> impl std::future::Future> + Send; [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/unix/stream_protocol.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | async fn connect_abstract(name: &str) -> 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] 240 - async fn connect_abstract(name: &str) -> Result; [INFO] [stdout] 240 + fn connect_abstract(name: &str) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2931cc0b9e3548c7698472eeeb394ceda0ee058867aad6e0b928ab67cf775706", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2931cc0b9e3548c7698472eeeb394ceda0ee058867aad6e0b928ab67cf775706", kill_on_drop: false }` [INFO] [stdout] 2931cc0b9e3548c7698472eeeb394ceda0ee058867aad6e0b928ab67cf775706