[INFO] fetching crate ant-libp2p-autonat 0.13.1...
[INFO] testing ant-libp2p-autonat-0.13.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate ant-libp2p-autonat 0.13.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate ant-libp2p-autonat 0.13.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ant-libp2p-autonat 0.13.1
[INFO] tweaked toml for crates.io crate ant-libp2p-autonat 0.13.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ant-libp2p-autonat 0.13.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 168 packages to latest compatible versions
[INFO] [stderr]       Adding futures-bounded v0.2.4 (available: v0.3.0)
[INFO] [stderr]       Adding libp2p-swarm-derive v0.35.0 (available: v0.35.1)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.9.2)
[INFO] [stderr]       Adding rand_core v0.6.4 (available: v0.9.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libp2p-swarm-derive v0.35.0
[INFO] [stderr]   Downloaded ant-libp2p-request-response v0.27.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1dca2ed3014a5072bc64d0ac9c2c4b91a73bd6f9d7433c07f43a92900bf16e62
[INFO] running `Command { std: "docker" "start" "-a" "1dca2ed3014a5072bc64d0ac9c2c4b91a73bd6f9d7433c07f43a92900bf16e62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1dca2ed3014a5072bc64d0ac9c2c4b91a73bd6f9d7433c07f43a92900bf16e62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1dca2ed3014a5072bc64d0ac9c2c4b91a73bd6f9d7433c07f43a92900bf16e62", kill_on_drop: false }`
[INFO] [stdout] 1dca2ed3014a5072bc64d0ac9c2c4b91a73bd6f9d7433c07f43a92900bf16e62
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18e9719997e7b727019ed7076fb8ce06312e4cd8478977e765757624d3b08724
[INFO] running `Command { std: "docker" "start" "-a" "18e9719997e7b727019ed7076fb8ce06312e4cd8478977e765757624d3b08724", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling const-str v0.4.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling match-lookup v0.1.1
[INFO] [stderr]    Compiling base256emoji v1.0.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling data-encoding-macro v0.1.18
[INFO] [stderr]    Compiling multibase v0.9.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling libp2p-identity v0.2.12
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling asynchronous-codec v0.7.0
[INFO] [stderr]    Compiling futures-bounded v0.2.4
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling multistream-select v0.13.0
[INFO] [stderr]    Compiling rw-stream-sink v0.4.0
[INFO] [stderr]    Compiling quick-protobuf-codec v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling multiaddr v0.18.2
[INFO] [stderr]    Compiling ant-libp2p-core v0.42.1
[INFO] [stderr]    Compiling ant-libp2p-swarm v0.45.2
[INFO] [stderr]    Compiling ant-libp2p-request-response v0.27.1
[INFO] [stderr]    Compiling ant-libp2p-autonat v0.13.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/v1/behaviour.rs:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn as_client(&mut self) -> AsClient {
[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] 294 |     fn as_client(&mut self) -> AsClient<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/v1/behaviour.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |     fn as_server(&mut self) -> AsServer {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 313 |     fn as_server(&mut self) -> AsServer<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.93s
[INFO] running `Command { std: "docker" "inspect" "18e9719997e7b727019ed7076fb8ce06312e4cd8478977e765757624d3b08724", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18e9719997e7b727019ed7076fb8ce06312e4cd8478977e765757624d3b08724", kill_on_drop: false }`
[INFO] [stdout] 18e9719997e7b727019ed7076fb8ce06312e4cd8478977e765757624d3b08724
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 62a053454bc50bb7788f3cedfbcbe2077725b15cec577f22763366a9fa9f1e22
[INFO] running `Command { std: "docker" "start" "-a" "62a053454bc50bb7788f3cedfbcbe2077725b15cec577f22763366a9fa9f1e22", kill_on_drop: false }`
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling multistream-select v0.13.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.35.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling libp2p-identity v0.2.12
[INFO] [stderr]    Compiling multiaddr v0.18.2
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling ant-libp2p-core v0.42.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling ant-libp2p-swarm v0.45.2
[INFO] [stderr]    Compiling ant-libp2p-request-response v0.27.1
[INFO] [stderr]    Compiling ant-libp2p-identify v0.46.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling ant-libp2p-autonat v0.13.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/v1/behaviour.rs:294:18
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn as_client(&mut self) -> AsClient {
[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] 294 |     fn as_client(&mut self) -> AsClient<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/v1/behaviour.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |     fn as_server(&mut self) -> AsServer {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 313 |     fn as_server(&mut self) -> AsServer<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `libp2p_autonat`
[INFO] [stdout]   --> tests/test_server.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use libp2p_autonat::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ant_libp2p_autonat::{
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ant_libp2p_swarm_test`
[INFO] [stdout]   --> tests/test_server.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use ant_libp2p_swarm_test::SwarmExt as _;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ant_libp2p_swarm_test`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 29 - use ant_libp2p_swarm_test::SwarmExt as _;
[INFO] [stdout] 29 + use ant_libp2p_swarm::SwarmExt as _;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `libp2p_autonat`
[INFO] [stdout]   --> tests/test_client.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use libp2p_autonat::{
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ant_libp2p_autonat::{
[INFO] [stdout]    |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ant_libp2p_swarm_test`
[INFO] [stdout]   --> tests/test_client.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use ant_libp2p_swarm_test::SwarmExt as _;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ant_libp2p_swarm_test`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 29 - use ant_libp2p_swarm_test::SwarmExt as _;
[INFO] [stdout] 29 + use ant_libp2p_swarm::SwarmExt as _;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]  --> tests/autonatv2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use libp2p_autonat::v2::{
[INFO] [stdout]   |     ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ant_libp2p_autonat::v2::{
[INFO] [stdout]   |     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ant_libp2p_swarm_test`
[INFO] [stdout]   --> tests/autonatv2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ant_libp2p_swarm_test::SwarmExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ant_libp2p_swarm_test`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 11 - use ant_libp2p_swarm_test::SwarmExt;
[INFO] [stdout] 11 + use ant_libp2p_swarm::SwarmExt;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_server.rs:362:29
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let mut server = Swarm::new_ephemeral(|key| Behaviour::new(key.public().to_peer_id(), config));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:416:28
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let mut swarm = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_server.rs:362:44
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let mut server = Swarm::new_ephemeral(|key| Behaviour::new(key.public().to_peer_id(), config));
[INFO] [stdout]     |                                            ^^^                 --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let mut server = Swarm::new_ephemeral(|key: /* Type */| Behaviour::new(key.public().to_peer_id(), config));
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:416:43
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let mut swarm = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 417 |         Behaviour::new(
[INFO] [stdout] 418 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let mut swarm = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_server.rs:370:29
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_server.rs:370:44
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 371 |         Behaviour::new(
[INFO] [stdout] 372 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 370 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> tests/test_server.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     let (_, client_addr) = client.listen().await;
[INFO] [stdout]    |                            ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let (mut client, client_id): (_, _) = new_client_swarm(server_id, server_addr).await;
[INFO] [stdout]    |                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]   --> tests/test_server.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (_, client_addr) = client.listen().await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     let client_port = client_addr
[INFO] [stdout]    |                       ----------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (_, client_addr): (_, _) = client.listen().await;
[INFO] [stdout]    |                         ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, Multiaddr)`
[INFO] [stdout]   --> tests/test_server.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let (mut server, server_id, server_addr) = new_server_swarm(None).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |         match server.next_swarm_event().await {
[INFO] [stdout]    |               ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(None).await;
[INFO] [stdout]    |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:38:29
[INFO] [stdout]     |
[INFO] [stdout]  38 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/test_client.rs:38:44
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 39 |         Behaviour::new(
[INFO] [stdout] 40 |             key.public().to_peer_id(),
[INFO] [stdout]    |             --- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]    |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> tests/test_server.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     client
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let (mut client, client_id): (_, _) = new_client_swarm(server_id, server_addr).await;
[INFO] [stdout]     |                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, Multiaddr)`
[INFO] [stdout]    --> tests/test_server.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let (mut server, server_id, server_addr) = new_server_swarm(None).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     let request_probe_id = match server.next_behaviour_event().await {
[INFO] [stdout]     |                                  ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(None).await;
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, _)`
[INFO] [stdout]    --> tests/test_server.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |         let (mut client, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                                           ----------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> tests/test_server.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let (mut client, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 192 |         client.listen().await;
[INFO] [stdout]     |         ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let (mut client, _): (_, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, {type error})`
[INFO] [stdout]    --> tests/test_server.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     let (first_probe_id, first_peer_id) = match server.next_behaviour_event().await {
[INFO] [stdout]     |                                                 ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:140:29
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:140:44
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 141 |         Behaviour::new(
[INFO] [stdout] 142 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, _)`
[INFO] [stdout]    --> tests/test_server.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                                               ----------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> tests/test_server.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 232 |     client.listen().await;
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let (mut client, client_id): (_, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, {type error})`
[INFO] [stdout]    --> tests/test_server.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     let first_probe_id = match server.next_behaviour_event().await {
[INFO] [stdout]     |                                ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 223 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, _)`
[INFO] [stdout]    --> tests/test_server.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                                               ----------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> tests/test_server.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (mut client, client_id) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 279 |     client.listen().await;
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 278 |     let (mut client, client_id): (_, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, {type error})`
[INFO] [stdout]    --> tests/test_server.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     let dial_addresses = match server.next_behaviour_event().await {
[INFO] [stdout]     |                                ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 270 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, _)`
[INFO] [stdout]    --> tests/test_server.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     let (mut client, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                                                       ----------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> tests/test_server.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let (mut client, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 340 |     client.listen().await;
[INFO] [stdout]     |     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let (mut client, _): (_, _) = new_client_swarm(server_id, server_addr.clone()).await;
[INFO] [stdout]     |                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, PeerId, {type error})`
[INFO] [stdout]    --> tests/test_server.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let (mut server, server_id, server_addr) = new_server_swarm(Some(Config {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     match server.next_behaviour_event().await {
[INFO] [stdout]     |           ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 332 |     let (mut server, server_id, server_addr): (_, _, _) = new_server_swarm(Some(Config {
[INFO] [stdout]     |                                             +++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:224:29
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:224:44
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 225 |         Behaviour::new(
[INFO] [stdout] 226 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    --> tests/autonatv2.rs:418:18
[INFO] [stdout]     |
[INFO] [stdout] 418 |         autonat: libp2p_autonat::v2::server::Behaviour::default(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 418 |         autonat: ant_libp2p_autonat::v2::server::Behaviour::default(),
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Behaviour`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 418 -         autonat: libp2p_autonat::v2::server::Behaviour::default(),
[INFO] [stdout] 418 +         autonat: Behaviour::default(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:419:19
[INFO] [stdout]     |
[INFO] [stdout] 419 |         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 419 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 419 +         identify: libp2p_identity::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Behaviour`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 419 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 419 +         identify: Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:419:51
[INFO] [stdout]     |
[INFO] [stdout] 419 |         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 419 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 419 +         identify: libp2p_identify::Behaviour::new(libp2p_identity::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_request_response::Config;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 419 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 419 +         identify: libp2p_identify::Behaviour::new(Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    --> tests/autonatv2.rs:431:18
[INFO] [stdout]     |
[INFO] [stdout] 431 |         autonat: libp2p_autonat::v2::client::Behaviour::new(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 431 |         autonat: ant_libp2p_autonat::v2::client::Behaviour::new(
[INFO] [stdout]     |                  ++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Behaviour`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 431 -         autonat: libp2p_autonat::v2::client::Behaviour::new(
[INFO] [stdout] 431 +         autonat: Behaviour::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:435:19
[INFO] [stdout]     |
[INFO] [stdout] 435 |         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 435 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 435 +         identify: libp2p_identity::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Behaviour`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 435 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 435 +         identify: Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:435:51
[INFO] [stdout]     |
[INFO] [stdout] 435 |         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 435 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 435 +         identify: libp2p_identify::Behaviour::new(libp2p_identity::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_request_response::Config;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 435 -         identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 435 +         identify: libp2p_identify::Behaviour::new(Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    --> tests/autonatv2.rs:447:14
[INFO] [stdout]     |
[INFO] [stdout] 447 |     autonat: libp2p_autonat::v2::server::Behaviour,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 447 |     autonat: ant_libp2p_autonat::v2::server::Behaviour,
[INFO] [stdout]     |              ++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `server`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 447 -     autonat: libp2p_autonat::v2::server::Behaviour,
[INFO] [stdout] 447 +     autonat: server::Behaviour,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]    --> tests/autonatv2.rs:454:14
[INFO] [stdout]     |
[INFO] [stdout] 454 |     autonat: libp2p_autonat::v2::client::Behaviour,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_autonat`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 454 |     autonat: ant_libp2p_autonat::v2::client::Behaviour,
[INFO] [stdout]     |              ++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `client`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 454 -     autonat: libp2p_autonat::v2::client::Behaviour,
[INFO] [stdout] 454 +     autonat: client::Behaviour,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 460 |         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 460 -         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 460 +         libp2p_identity::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::server::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Behaviour;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Behaviour`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 460 -         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 460 +         Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:460:41
[INFO] [stdout]     |
[INFO] [stdout] 460 |         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 460 -         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 460 +         libp2p_identify::Behaviour::new(libp2p_identity::Config::new(
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_autonat::v2::client::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_identify::Config;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ant_libp2p_request_response::Config;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 460 -         libp2p_identify::Behaviour::new(libp2p_identify::Config::new(
[INFO] [stdout] 460 +         libp2p_identify::Behaviour::new(Config::new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:275:44
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 276 |         Behaviour::new(
[INFO] [stdout] 277 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:313:29
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:313:44
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 314 |         Behaviour::new(
[INFO] [stdout] 315 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ant-libp2p-autonat` (test "test_server") due to 23 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/test_client.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/test_client.rs:382:44
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let mut client = Swarm::new_ephemeral(|key| {
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 383 |         Behaviour::new(
[INFO] [stdout] 384 |             key.public().to_peer_id(),
[INFO] [stdout]     |             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 382 |     let mut client = Swarm::new_ephemeral(|key: /* Type */| {
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:417:27
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut node = Swarm::new_ephemeral(|identity| CombinedServer {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:417:42
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut node = Swarm::new_ephemeral(|identity| CombinedServer {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |             identity.public().clone(),
[INFO] [stdout]     |             -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut node = Swarm::new_ephemeral(|identity: /* Type */| CombinedServer {
[INFO] [stdout]     |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ant-libp2p-autonat` (test "test_client") due to 16 previous errors
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:430:27
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let mut node = Swarm::new_ephemeral(|identity| CombinedClient {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:430:42
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let mut node = Swarm::new_ephemeral(|identity| CombinedClient {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |             identity.public().clone(),
[INFO] [stdout]     |             -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 430 |     let mut node = Swarm::new_ephemeral(|identity: /* Type */| CombinedClient {
[INFO] [stdout]     |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_ephemeral` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:459:27
[INFO] [stdout]     |
[INFO] [stdout] 459 |     let mut node = Swarm::new_ephemeral(|identity| {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ function or associated item not found in `Swarm<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Swarm<_>`, consider using `Swarm::<TBehaviour>::new` which returns `Swarm<_>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ant-libp2p-swarm-0.45.2/src/lib.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 | /     pub fn new(
[INFO] [stdout] 350 | |         transport: transport::Boxed<(PeerId, StreamMuxerBox)>,
[INFO] [stdout] 351 | |         behaviour: TBehaviour,
[INFO] [stdout] 352 | |         local_peer_id: PeerId,
[INFO] [stdout] 353 | |         config: Config,
[INFO] [stdout] 354 | |     ) -> Self {
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:459:42
[INFO] [stdout]     |
[INFO] [stdout] 459 |     let mut node = Swarm::new_ephemeral(|identity| {
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |             identity.public().clone(),
[INFO] [stdout]     |             -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 459 |     let mut node = Swarm::new_ephemeral(|identity: /* Type */| {
[INFO] [stdout]     |                                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `connect` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |     bob.connect(&mut alice).await;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `is_connected` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 473 -     bob.connect(&mut alice).await;
[INFO] [stdout] 473 +     bob.is_connected(&mut alice).await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:485:14
[INFO] [stdout]     |
[INFO] [stdout] 484 |           let (dialed_peer_id, dialed_connection_id) = alice
[INFO] [stdout]     |  ______________________________________________________-
[INFO] [stdout] 485 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:496:14
[INFO] [stdout]     |
[INFO] [stdout] 495 |           let _ = alice
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 496 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:512:14
[INFO] [stdout]     |
[INFO] [stdout] 511 | /         alice
[INFO] [stdout] 512 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         bob.wait(|event| match event {
[INFO] [stdout]     |         ----^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:526:14
[INFO] [stdout]     |
[INFO] [stdout] 525 |           let incoming_conn_id = bob
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 526 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:533:14
[INFO] [stdout]     |
[INFO] [stdout] 532 |           let _ = bob
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 533 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         bob.wait(|event| match event {
[INFO] [stdout]     |         ----^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |           let (dialed_peer_id, dialed_connection_id) = alice
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 30 | |             .wait(|event| match event {
[INFO] [stdout]    | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |           let _ = alice
[INFO] [stdout]    |  _________________-
[INFO] [stdout] 43 | |             .wait(|event| match event {
[INFO] [stdout]    | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |           } = alice
[INFO] [stdout]    |  _____________-
[INFO] [stdout] 65 | |             .wait(|event| match event {
[INFO] [stdout]    | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `random` found for struct `ant_libp2p_core::PeerId` in the current scope
[INFO] [stdout]    --> src/v1/behaviour/as_server.rs:402:31
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let peer_id = PeerId::random();
[INFO] [stdout]     |                               ^^^^^^ function or associated item not found in `ant_libp2p_core::PeerId`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ant_libp2p_core::PeerId` consider using one of the following associated functions:
[INFO] [stdout]       ant_libp2p_core::PeerId::from_public_key
[INFO] [stdout]       ant_libp2p_core::PeerId::from_bytes
[INFO] [stdout]       ant_libp2p_core::PeerId::from_multihash
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-identity-0.2.12/src/peer_id.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  69 |     pub fn from_public_key(key: &crate::keypair::PublicKey) -> PeerId {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(data: &[u8]) -> Result<PeerId, ParseError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         bob.wait(|event| match event {
[INFO] [stdout]    |         ----^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |           let incoming_conn_id = bob
[INFO] [stdout]    |  ________________________________-
[INFO] [stdout] 87 | |             .wait(|event| match event {
[INFO] [stdout]    | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `random` found for struct `ant_libp2p_core::PeerId` in the current scope
[INFO] [stdout]    --> src/v1/behaviour/as_server.rs:417:41
[INFO] [stdout]     |
[INFO] [stdout] 417 |             .with(Protocol::P2p(PeerId::random()));
[INFO] [stdout]     |                                         ^^^^^^ function or associated item not found in `ant_libp2p_core::PeerId`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ant_libp2p_core::PeerId` consider using one of the following associated functions:
[INFO] [stdout]       ant_libp2p_core::PeerId::from_public_key
[INFO] [stdout]       ant_libp2p_core::PeerId::from_bytes
[INFO] [stdout]       ant_libp2p_core::PeerId::from_multihash
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-identity-0.2.12/src/peer_id.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  69 |     pub fn from_public_key(key: &crate::keypair::PublicKey) -> PeerId {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(data: &[u8]) -> Result<PeerId, ParseError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `random` found for struct `ant_libp2p_core::PeerId` in the current scope
[INFO] [stdout]    --> src/v1/behaviour/as_server.rs:424:41
[INFO] [stdout]     |
[INFO] [stdout] 424 |             .with(Protocol::P2p(PeerId::random()))
[INFO] [stdout]     |                                         ^^^^^^ function or associated item not found in `ant_libp2p_core::PeerId`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ant_libp2p_core::PeerId` consider using one of the following associated functions:
[INFO] [stdout]       ant_libp2p_core::PeerId::from_public_key
[INFO] [stdout]       ant_libp2p_core::PeerId::from_bytes
[INFO] [stdout]       ant_libp2p_core::PeerId::from_multihash
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-identity-0.2.12/src/peer_id.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  69 |     pub fn from_public_key(key: &crate::keypair::PublicKey) -> PeerId {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(data: &[u8]) -> Result<PeerId, ParseError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]   --> tests/autonatv2.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |           let _ = bob
[INFO] [stdout]    |  _________________-
[INFO] [stdout] 94 | |             .wait(|event| match event {
[INFO] [stdout]    | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |           } = bob
[INFO] [stdout]     |  _____________-
[INFO] [stdout] 110 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:150:14
[INFO] [stdout]     |
[INFO] [stdout] 149 |           let (alice_dialing_peer, alice_conn_id) = alice
[INFO] [stdout]     |  ___________________________________________________-
[INFO] [stdout] 150 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:159:14
[INFO] [stdout]     |
[INFO] [stdout] 158 |           let mut outgoing_conn_error = alice
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 159 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut outgoing_conn_error = alice
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |             outgoing_conn_error.pop()
[INFO] [stdout]     |             ------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `outgoing_conn_error` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut outgoing_conn_error: /* Type */ = alice
[INFO] [stdout]     |                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `random` found for struct `ant_libp2p_core::PeerId` in the current scope
[INFO] [stdout]    --> src/v1/protocol.rs:288:30
[INFO] [stdout]     |
[INFO] [stdout] 288 |             peer_id: PeerId::random(),
[INFO] [stdout]     |                              ^^^^^^ function or associated item not found in `ant_libp2p_core::PeerId`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ant_libp2p_core::PeerId` consider using one of the following associated functions:
[INFO] [stdout]       ant_libp2p_core::PeerId::from_public_key
[INFO] [stdout]       ant_libp2p_core::PeerId::from_bytes
[INFO] [stdout]       ant_libp2p_core::PeerId::from_multihash
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-identity-0.2.12/src/peer_id.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  69 |     pub fn from_public_key(key: &crate::keypair::PublicKey) -> PeerId {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(data: &[u8]) -> Result<PeerId, ParseError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:183:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |           let data_amount = alice
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 183 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `random` found for struct `ant_libp2p_core::PeerId` in the current scope
[INFO] [stdout]    --> src/v1/protocol.rs:336:38
[INFO] [stdout]     |
[INFO] [stdout] 336 |                     id: Some(PeerId::random().to_bytes()),
[INFO] [stdout]     |                                      ^^^^^^ function or associated item not found in `ant_libp2p_core::PeerId`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ant_libp2p_core::PeerId` consider using one of the following associated functions:
[INFO] [stdout]       ant_libp2p_core::PeerId::from_public_key
[INFO] [stdout]       ant_libp2p_core::PeerId::from_bytes
[INFO] [stdout]       ant_libp2p_core::PeerId::from_multihash
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libp2p-identity-0.2.12/src/peer_id.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  69 |     pub fn from_public_key(key: &crate::keypair::PublicKey) -> PeerId {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(data: &[u8]) -> Result<PeerId, ParseError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn from_multihash(multihash: Multihash) -> Result<PeerId, Multihash> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `loop_on_next` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 201 |             alice.loop_on_next().await;
[INFO] [stdout]     |                   ^^^^^^^^^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |           let data_amount = bob
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 210 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 245 |           let (alice_dialing_peer, alice_conn_id) = alice
[INFO] [stdout]     |  ___________________________________________________-
[INFO] [stdout] 246 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:255:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let mut outgoing_conn_error = alice
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 255 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut outgoing_conn_error = alice
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |         if let Some((multiaddr, TransportError::Other(o))) = outgoing_conn_error.pop() {
[INFO] [stdout]     |                                                              ------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `outgoing_conn_error` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut outgoing_conn_error: /* Type */ = alice
[INFO] [stdout]     |                                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:270:32
[INFO] [stdout]     |
[INFO] [stdout] 270 |             let error_string = o.to_string();
[INFO] [stdout]     |                                ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 279 | /         alice
[INFO] [stdout] 280 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         bob.wait(|event| match event {
[INFO] [stdout]     |         ----^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/autonatv2.rs:326:9
[INFO] [stdout]     |
[INFO] [stdout] 326 |     let hannes = new_dummy().await;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 327 |     let hannes_peer_id = *hannes.local_peer_id();
[INFO] [stdout]     |                           ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `hannes` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 326 |     let hannes: /* Type */ = new_dummy().await;
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:342:14
[INFO] [stdout]     |
[INFO] [stdout] 341 |           let (alice_dialing_peer, alice_conn_id) = alice
[INFO] [stdout]     |  ___________________________________________________-
[INFO] [stdout] 342 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:351:14
[INFO] [stdout]     |
[INFO] [stdout] 350 | /         alice
[INFO] [stdout] 351 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:367:14
[INFO] [stdout]     |
[INFO] [stdout] 366 |           let data_amount = alice
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 367 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `loop_on_next` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:387:23
[INFO] [stdout]     |
[INFO] [stdout] 387 |             _ = alice.loop_on_next() => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^ method not found in `Swarm<CombinedServer>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `wait` found for struct `Swarm<TBehaviour>` in the current scope
[INFO] [stdout]    --> tests/autonatv2.rs:395:14
[INFO] [stdout]     |
[INFO] [stdout] 394 |           let bytes_sent = bob
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 395 | |             .wait(|event| match event {
[INFO] [stdout]     | |             -^^^^ method not found in `Swarm<CombinedClient>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:448:15
[INFO] [stdout]     |
[INFO] [stdout] 448 |     identify: libp2p_identify::Behaviour,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 448 -     identify: libp2p_identify::Behaviour,
[INFO] [stdout] 448 +     identify: libp2p_identity::Behaviour,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:455:15
[INFO] [stdout]     |
[INFO] [stdout] 455 |     identify: libp2p_identify::Behaviour,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 455 -     identify: libp2p_identify::Behaviour,
[INFO] [stdout] 455 +     identify: libp2p_identity::Behaviour,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]    --> tests/autonatv2.rs:458:31
[INFO] [stdout]     |
[INFO] [stdout] 458 | async fn new_dummy() -> Swarm<libp2p_identify::Behaviour> {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libp2p_identify`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 458 - async fn new_dummy() -> Swarm<libp2p_identify::Behaviour> {
[INFO] [stdout] 458 + async fn new_dummy() -> Swarm<libp2p_identity::Behaviour> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ant-libp2p-autonat` (test "autonatv2") due to 54 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ant-libp2p-autonat` (lib test) due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "62a053454bc50bb7788f3cedfbcbe2077725b15cec577f22763366a9fa9f1e22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62a053454bc50bb7788f3cedfbcbe2077725b15cec577f22763366a9fa9f1e22", kill_on_drop: false }`
[INFO] [stdout] 62a053454bc50bb7788f3cedfbcbe2077725b15cec577f22763366a9fa9f1e22
