[INFO] updating cached repository https://github.com/daogangtang/learn-libp2p
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 5af80970091694cf447984cdcdcedf270a9d0702
[INFO] checking daogangtang/learn-libp2p against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaogangtang%2Flearn-libp2p" "/workspace/builds/worker-7/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/daogangtang/learn-libp2p on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/daogangtang/learn-libp2p
[INFO] removed path dependency libp2p from git repo https://github.com/daogangtang/learn-libp2p
[INFO] finished tweaking git repo https://github.com/daogangtang/learn-libp2p
[INFO] tweaked toml for git repo https://github.com/daogangtang/learn-libp2p written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/daogangtang/learn-libp2p already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (libp2p) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (libp2p) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libp2p v0.18.0
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 30abdb2d3a32efed7de36cf1515058a73d2f2fc58895e009b5c161020e5da1fc
[INFO] running `"docker" "start" "-a" "30abdb2d3a32efed7de36cf1515058a73d2f2fc58895e009b5c161020e5da1fc"`
[INFO] [stderr] warning: dependency (libp2p) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Checking futures-channel v0.3.4
[INFO] [stderr]     Checking blake2s_simd v0.5.10
[INFO] [stderr]     Checking blake2b_simd v0.5.10
[INFO] [stderr]    Compiling snow v0.6.2
[INFO] [stderr]     Checking stream-cipher v0.3.2
[INFO] [stderr]    Compiling prost-derive v0.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.15
[INFO] [stderr]    Compiling asn1_der_derive v0.1.2
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.60
[INFO] [stderr]    Compiling libp2p-core-derive v0.18.0
[INFO] [stderr]     Checking aes-soft v0.3.3
[INFO] [stderr]     Checking twofish v0.2.0
[INFO] [stderr]     Checking sha3 v0.8.2
[INFO] [stderr]     Checking sha-1 v0.8.2
[INFO] [stderr]     Checking webpki-roots v0.19.0
[INFO] [stderr]    Compiling zeroize_derive v1.0.0
[INFO] [stderr]     Checking salsa20-core v0.2.3
[INFO] [stderr]     Checking ctr v0.3.2
[INFO] [stderr]     Checking futures-util v0.3.4
[INFO] [stderr]     Checking tokio-stdin-stdout v0.1.5
[INFO] [stderr]     Checking hmac-drbg v0.2.0
[INFO] [stderr]     Checking asn1_der v0.6.3
[INFO] [stderr]     Checking salsa20 v0.3.0
[INFO] [stderr]     Checking aes-ctr v0.3.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.60
[INFO] [stderr]     Checking libsecp256k1 v0.3.5
[INFO] [stderr]     Checking thiserror v1.0.15
[INFO] [stderr]     Checking async-std v1.5.0
[INFO] [stderr]     Checking zeroize v1.1.0
[INFO] [stderr]     Checking curve25519-dalek v2.0.0
[INFO] [stderr]     Checking futures-executor v0.3.4
[INFO] [stderr]     Checking ed25519-dalek v1.0.0-pre.3
[INFO] [stderr]     Checking x25519-dalek v0.6.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.60
[INFO] [stderr]     Checking futures v0.3.4
[INFO] [stderr]    Compiling prost v0.6.1
[INFO] [stderr]    Compiling prost-types v0.6.1
[INFO] [stderr]     Checking futures_codec v0.3.4
[INFO] [stderr]     Checking rw-stream-sink v0.2.1
[INFO] [stderr]     Checking wasm-timer v0.2.4
[INFO] [stderr]     Checking yamux v0.4.5
[INFO] [stderr]     Checking async-tls v0.7.0
[INFO] [stderr]     Checking soketto v0.3.2
[INFO] [stderr]     Checking libp2p-pnet v0.18.0
[INFO] [stderr]     Checking wasm-bindgen v0.2.60
[INFO] [stderr]     Checking unsigned-varint v0.3.2
[INFO] [stderr]    Compiling prost-build v0.6.1
[INFO] [stderr]     Checking js-sys v0.3.37
[INFO] [stderr]     Checking multihash v0.10.1
[INFO] [stderr]     Checking multistream-select v0.8.0
[INFO] [stderr]     Checking parity-multiaddr v0.8.0
[INFO] [stderr]    Compiling libp2p-core v0.18.0
[INFO] [stderr]    Compiling libp2p-floodsub v0.18.0
[INFO] [stderr]    Compiling libp2p-gossipsub v0.18.0
[INFO] [stderr]    Compiling libp2p-plaintext v0.18.0
[INFO] [stderr]    Compiling libp2p-noise v0.18.0
[INFO] [stderr]    Compiling libp2p-kad v0.18.0
[INFO] [stderr]    Compiling libp2p-identify v0.18.0
[INFO] [stderr]    Compiling libp2p-secio v0.18.0
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.10
[INFO] [stderr]     Checking libp2p-swarm v0.18.0
[INFO] [stderr]     Checking libp2p-yamux v0.18.0
[INFO] [stderr]     Checking libp2p-mplex v0.18.0
[INFO] [stderr]     Checking libp2p-wasm-ext v0.18.0
[INFO] [stderr]     Checking libp2p-dns v0.18.0
[INFO] [stderr]     Checking libp2p-uds v0.18.0
[INFO] [stderr]     Checking libp2p-tcp v0.18.0
[INFO] [stderr]     Checking libp2p-websocket v0.18.0
[INFO] [stderr]     Checking libp2p-deflate v0.18.0
[INFO] [stderr]     Checking libp2p-mdns v0.18.0
[INFO] [stderr]     Checking libp2p-ping v0.18.0
[INFO] [stderr]     Checking libp2p v0.18.0
[INFO] [stderr]     Checking learn-libp2p v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0432]: unresolved import `tokio::net::TcpListener`
[INFO] [stderr]  --> src/ping_client.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tokio::net::TcpListener;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^ no `TcpListener` in `net`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `tokio::net::TcpStream`
[INFO] [stderr]  --> src/ping_client.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::net::TcpStream;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^ no `TcpStream` in `net`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Future`, `Stream`
[INFO] [stderr]  --> src/ping_client.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::{Future, Stream};
[INFO] [stderr]   |               ^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `InboundUpgrade`
[INFO] [stderr]  --> src/ping_client.rs:8:29
[INFO] [stderr]   |
[INFO] [stderr] 8 | use libp2p::core::upgrade::{InboundUpgrade, OutboundUpgrade};
[INFO] [stderr]   |                             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/ping_client.rs:15:20
[INFO] [stderr]    |
[INFO] [stderr] 15 |             Ping::<()>::default().upgrade_outbound(c, b"/ipfs/ping/1.0.0")
[INFO] [stderr]    |                    ^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 3 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0107, E0432.
[INFO] [stderr] For more information about an error, try `rustc --explain E0107`.
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/chat.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/chat.rs:70:28
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:75:29
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `TopicBuilder` in `floodsub`
[INFO] [stderr]   --> src/chat.rs:84:44
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let floodsub_topic = libp2p::floodsub::TopicBuilder::new("chat").build();
[INFO] [stderr]    |                                            ^^^^^^^^^^^^ could not find `TopicBuilder` in `floodsub`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:89:44
[INFO] [stderr]    |
[INFO] [stderr] 89 |     struct MyBehaviour<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> {
[INFO] [stderr]    |                                            ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:89:74
[INFO] [stderr]    |
[INFO] [stderr] 89 |     struct MyBehaviour<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> {
[INFO] [stderr]    |                                                                          ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:95:30
[INFO] [stderr]    |
[INFO] [stderr] 95 |     impl<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> MyBehaviour<TSubstream> {
[INFO] [stderr]    |                              ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:95:60
[INFO] [stderr]    |
[INFO] [stderr] 95 |     impl<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> MyBehaviour<TSubstream> {
[INFO] [stderr]    |                                                            ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:98:35
[INFO] [stderr]    |
[INFO] [stderr] 98 |         where TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite
[INFO] [stderr]    |                                   ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:98:65
[INFO] [stderr]    |
[INFO] [stderr] 98 |         where TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite
[INFO] [stderr]    |                                                                 ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `swarm` in `core`
[INFO] [stderr]   --> src/chat.rs:97:112
[INFO] [stderr]    |
[INFO] [stderr] 97 |         fn on_floodsub<TTopology>(&mut self, message: <libp2p::floodsub::Floodsub<TSubstream> as libp2p::core::swarm::NetworkBehaviour<TTopology>>::OutEvent)
[INFO] [stderr]    |                                                                                                                ^^^^^ could not find `swarm` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]    --> src/chat.rs:112:64
[INFO] [stderr]     |
[INFO] [stderr] 112 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]     |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:141:17
[INFO] [stderr]     |
[INFO] [stderr] 141 |                 Async::Ready(Some(line)) => swarm.floodsub.publish(&floodsub_topic, line.as_bytes()),
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:142:17
[INFO] [stderr]     |
[INFO] [stderr] 142 |                 Async::Ready(None) => panic!("Stdin closed"),
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:143:17
[INFO] [stderr]     |
[INFO] [stderr] 143 |                 Async::NotReady => break,
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:149:17
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 Async::Ready(Some(_)) => {
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:152:17
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:152:38
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]     |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 156 |         Ok(Async::NotReady)
[INFO] [stderr]     |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]    --> src/chat.rs:138:12
[INFO] [stderr]     |
[INFO] [stderr] 138 |     tokio::run(futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]     |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 20 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stderr] For more information about an error, try `rustc --explain E0425`.
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/ping_client3.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/ping_client3.rs:21:28
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `tokio::net::TcpListener`
[INFO] [stderr]  --> src/ping_listen.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tokio::net::TcpListener;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^ no `TcpListener` in `net`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `tokio::net::TcpStream`
[INFO] [stderr]  --> src/ping_listen.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::net::TcpStream;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^ no `TcpStream` in `net`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/ping_client3.rs:26:29
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `PeriodicPing` in `ping`
[INFO] [stderr]   --> src/ping_client3.rs:39:39
[INFO] [stderr]    |
[INFO] [stderr] 39 |         let behaviour = libp2p::ping::PeriodicPing::new();
[INFO] [stderr]    |                                       ^^^^^^^^^^^^ could not find `PeriodicPing` in `ping`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]   --> src/ping_client3.rs:41:64
[INFO] [stderr]    |
[INFO] [stderr] 41 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client3.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 Async::Ready(Some(x)) => {
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client3.rs:72:17
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client3.rs:72:38
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client3.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 |         Ok(Async::NotReady)
[INFO] [stderr]    |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Future`, `Stream`
[INFO] [stderr]  --> src/ping_listen.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::{Future, Stream};
[INFO] [stderr]   |               ^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OutboundUpgrade`
[INFO] [stderr]  --> src/ping_listen.rs:8:45
[INFO] [stderr]   |
[INFO] [stderr] 8 | use libp2p::core::upgrade::{InboundUpgrade, OutboundUpgrade};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/chat.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/chat.rs:70:28
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stderr]   --> src/ping_listen.rs:22:20
[INFO] [stderr]    |
[INFO] [stderr] 22 |             Ping::<()>::default().upgrade_inbound(c.unwrap(), b"/ipfs/ping/1.0.0")
[INFO] [stderr]    |                    ^^ unexpected type argument
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:75:29
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `TopicBuilder` in `floodsub`
[INFO] [stderr]   --> src/chat.rs:84:44
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let floodsub_topic = libp2p::floodsub::TopicBuilder::new("chat").build();
[INFO] [stderr]    |                                            ^^^^^^^^^^^^ could not find `TopicBuilder` in `floodsub`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:89:44
[INFO] [stderr]    |
[INFO] [stderr] 89 |     struct MyBehaviour<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> {
[INFO] [stderr]    |                                            ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:89:74
[INFO] [stderr]    |
[INFO] [stderr] 89 |     struct MyBehaviour<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> {
[INFO] [stderr]    |                                                                          ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:95:30
[INFO] [stderr]    |
[INFO] [stderr] 95 |     impl<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> MyBehaviour<TSubstream> {
[INFO] [stderr]    |                              ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:95:60
[INFO] [stderr]    |
[INFO] [stderr] 95 |     impl<TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite> MyBehaviour<TSubstream> {
[INFO] [stderr]    |                                                            ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:98:35
[INFO] [stderr]    |
[INFO] [stderr] 98 |         where TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite
[INFO] [stderr]    |                                   ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `tokio_io` in `libp2p`
[INFO] [stderr]   --> src/chat.rs:98:65
[INFO] [stderr]    |
[INFO] [stderr] 98 |         where TSubstream: libp2p::tokio_io::AsyncRead + libp2p::tokio_io::AsyncWrite
[INFO] [stderr]    |                                                                 ^^^^^^^^ could not find `tokio_io` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]   --> src/ping_client3.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 |     tokio::run(task);
[INFO] [stderr]    |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `NetworkBehaviour`, `mplex`, `yamux`
[INFO] [stderr]   --> src/ping_client3.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 8  |     NetworkBehaviour, Transport,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     mplex,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 12 |     yamux,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `swarm` in `core`
[INFO] [stderr]   --> src/chat.rs:97:112
[INFO] [stderr]    |
[INFO] [stderr] 97 |         fn on_floodsub<TTopology>(&mut self, message: <libp2p::floodsub::Floodsub<TSubstream> as libp2p::core::swarm::NetworkBehaviour<TTopology>>::OutEvent)
[INFO] [stderr]    |                                                                                                                ^^^^^ could not find `swarm` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]    --> src/chat.rs:112:64
[INFO] [stderr]     |
[INFO] [stderr] 112 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]     |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:141:17
[INFO] [stderr]     |
[INFO] [stderr] 141 |                 Async::Ready(Some(line)) => swarm.floodsub.publish(&floodsub_topic, line.as_bytes()),
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:142:17
[INFO] [stderr]     |
[INFO] [stderr] 142 |                 Async::Ready(None) => panic!("Stdin closed"),
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:143:17
[INFO] [stderr]     |
[INFO] [stderr] 143 |                 Async::NotReady => break,
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:149:17
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 Async::Ready(Some(_)) => {
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:152:17
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]     |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:152:38
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]     |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]    --> src/chat.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 156 |         Ok(Async::NotReady)
[INFO] [stderr]     |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]    --> src/chat.rs:138:12
[INFO] [stderr]     |
[INFO] [stderr] 138 |     tokio::run(futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]     |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/ping_client2.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/ping_client2.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/ping_client2.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `PeriodicPing` in `ping`
[INFO] [stderr]   --> src/ping_client2.rs:34:39
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let behaviour = libp2p::ping::PeriodicPing::new();
[INFO] [stderr]    |                                       ^^^^^^^^^^^^ could not find `PeriodicPing` in `ping`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]   --> src/ping_client2.rs:36:64
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 Async::Ready(Some(x)) => {
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:67:38
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 |         Ok(Async::NotReady)
[INFO] [stderr]    |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 20 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stderr] For more information about an error, try `rustc --explain E0425`.
[INFO] [stderr] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stderr]   --> src/ping_client3.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |             upgrade::apply(out.stream, upgrade, cp).map_err(|e| e.into_io_error())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^ ----------  -------  -- supplied 3 arguments
[INFO] [stderr]    |             |
[INFO] [stderr]    |             expected 4 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]   --> src/ping_client2.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 74 |     tokio::run(task);
[INFO] [stderr]    |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NetworkBehaviour`
[INFO] [stderr]  --> src/ping_client2.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stderr]   --> src/ping_client2.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^ ----------  ------- supplied 2 arguments
[INFO] [stderr]    |             |
[INFO] [stderr]    |             expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to 3 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0107, E0432.
[INFO] [stderr] For more information about an error, try `rustc --explain E0107`.
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/ping_listen2.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/ping_listen2.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/ping_listen2.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0433]: failed to resolve: could not find `PingListen` in `ping`
[INFO] [stderr]   --> src/ping_listen2.rs:34:39
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let behaviour = libp2p::ping::PingListen::new();
[INFO] [stderr]    |                                       ^^^^^^^^^^ could not find `PingListen` in `ping`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]   --> src/ping_listen2.rs:36:64
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_listen2.rs:62:17
[INFO] [stderr]    |
[INFO] [stderr] 62 |                 Async::Ready(Some(x)) => {
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_listen2.rs:65:17
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_listen2.rs:65:38
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_listen2.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 69 |         Ok(Async::NotReady)
[INFO] [stderr]    |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]   --> src/ping_listen2.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |     tokio::run(futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]    |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NetworkBehaviour`
[INFO] [stderr]  --> src/ping_listen2.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stderr]   --> src/ping_listen2.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^ ----------  ------- supplied 2 arguments
[INFO] [stderr]    |             |
[INFO] [stderr]    |             expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `into_io_error` found for enum `libp2p::libp2p_core::UpgradeError<_>` in the current scope
[INFO] [stderr]   --> src/ping_listen2.rs:29:72
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^ method not found in `libp2p::libp2p_core::UpgradeError<_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stderr]   --> src/ping_listen2.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^ ---------  ---------  -----------------------------------------------  ------------- supplied 4 arguments
[INFO] [stderr]    |         |
[INFO] [stderr]    |         expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `into_io_error` found for enum `libp2p::libp2p_core::UpgradeError<_>` in the current scope
[INFO] [stderr]   --> src/ping_client2.rs:29:72
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^ method not found in `libp2p::libp2p_core::UpgradeError<_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stderr]   --> src/ping_client2.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^ ---------  ---------  -----------------------------------------------  ------------- supplied 4 arguments
[INFO] [stderr]    |         |
[INFO] [stderr]    |         expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `into_io_error` found for enum `libp2p::libp2p_core::UpgradeError<_>` in the current scope
[INFO] [stderr]   --> src/ping_client3.rs:34:67
[INFO] [stderr]    |
[INFO] [stderr] 34 |             upgrade::apply(out.stream, upgrade, cp).map_err(|e| e.into_io_error())
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^^^ method not found in `libp2p::libp2p_core::UpgradeError<_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stderr]   --> src/ping_client3.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^ ---------  ---------  -----------------------------------------------  ------------- supplied 4 arguments
[INFO] [stderr]    |         |
[INFO] [stderr]    |         expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stderr]   --> src/ping_listen2.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 58 |     tokio::run(futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^ ------------------------ takes 0 arguments
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected closure that takes 1 argument
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the closure to take and ignore the expected argument
[INFO] [stderr]    |
[INFO] [stderr] 58 |     tokio::run(futures::future::poll_fn(move |_| {
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `poll` found for struct `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>` in the current scope
[INFO] [stderr]   --> src/ping_listen2.rs:61:25
[INFO] [stderr]    |
[INFO] [stderr] 61 |             match swarm.poll().expect("Error while polling swarm") {
[INFO] [stderr]    |                         ^^^^ method not found in `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `swarm` is a function, perhaps you wish to call it
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> src/ping_listen2.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 15 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0425, E0432, E0433, E0593, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0432]: unresolved import `libp2p::tokio_codec`
[INFO] [stderr]   --> src/ping_client2.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     tokio_codec::{FramedRead, LinesCodec}
[INFO] [stderr]    |     ^^^^^^^^^^^ could not find `tokio_codec` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `SecioKeyPair` in `secio`
[INFO] [stderr]   --> src/ping_client2.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let local_key = secio::SecioKeyPair::ed25519_generated().unwrap();
[INFO] [stderr]    |                            ^^^^^^^^^^^^ could not find `SecioKeyPair` in `secio`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `CommonTransport` in `libp2p`
[INFO] [stderr]   --> src/ping_client2.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let transport = libp2p::CommonTransport::new()
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^ could not find `CommonTransport` in `libp2p`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `PeriodicPing` in `ping`
[INFO] [stderr]   --> src/ping_client2.rs:34:39
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let behaviour = libp2p::ping::PeriodicPing::new();
[INFO] [stderr]    |                                       ^^^^^^^^^^^^ could not find `PeriodicPing` in `ping`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `topology` in `core`
[INFO] [stderr]   --> src/ping_client2.rs:36:64
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |                                                                ^^^^^^^^ could not find `topology` in `core`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 Async::Ready(Some(x)) => {
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                 ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:67:38
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 Async::Ready(None) | Async::NotReady => break,
[INFO] [stderr]    |                                      ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: use of undeclared type or module `Async`
[INFO] [stderr]   --> src/ping_client2.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 |         Ok(Async::NotReady)
[INFO] [stderr]    |            ^^^^^ use of undeclared type or module `Async`
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stderr]   --> src/ping_client2.rs:61:16
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let task = futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^ ------------------------ takes 0 arguments
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected closure that takes 1 argument
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the closure to take and ignore the expected argument
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let task = futures::future::poll_fn(move |_| {
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `poll` found for struct `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>` in the current scope
[INFO] [stderr]   --> src/ping_client2.rs:63:25
[INFO] [stderr]    |
[INFO] [stderr] 63 |             match swarm.poll().expect("Error while polling swarm") {
[INFO] [stderr]    |                         ^^^^ method not found in `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `swarm` is a function, perhaps you wish to call it
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> src/ping_client2.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stderr]   --> src/ping_client3.rs:66:16
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let task = futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^ ------------------------ takes 0 arguments
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected closure that takes 1 argument
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the closure to take and ignore the expected argument
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let task = futures::future::poll_fn(move |_| {
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `poll` found for struct `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>` in the current scope
[INFO] [stderr]   --> src/ping_client3.rs:68:25
[INFO] [stderr]    |
[INFO] [stderr] 68 |             match swarm.poll().expect("Error while polling swarm") {
[INFO] [stderr]    |                         ^^^^ method not found in `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `swarm` is a function, perhaps you wish to call it
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `run` in crate `tokio`
[INFO] [stderr]   --> src/ping_client2.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 74 |     tokio::run(task);
[INFO] [stderr]    |            ^^^ not found in `tokio`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NetworkBehaviour`
[INFO] [stderr]  --> src/ping_client2.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> src/ping_client3.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 15 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0425, E0432, E0433, E0593, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: aborting due to 15 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0425, E0432, E0433, E0593, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stderr]   --> src/ping_client2.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^ ----------  ------- supplied 2 arguments
[INFO] [stderr]    |             |
[INFO] [stderr]    |             expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0599]: no method named `into_io_error` found for enum `libp2p::libp2p_core::UpgradeError<_>` in the current scope
[INFO] [stderr]   --> src/ping_client2.rs:29:72
[INFO] [stderr]    |
[INFO] [stderr] 29 |             upgrade::apply_outbound(out.stream, upgrade).map_err(|e| e.into_io_error())
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^^^ method not found in `libp2p::libp2p_core::UpgradeError<_>`
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stderr]   --> src/ping_client2.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 36 |         libp2p::Swarm::new(transport, behaviour, libp2p::core::topology::MemoryTopology::empty(), local_pub_key)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^ ---------  ---------  -----------------------------------------------  ------------- supplied 4 arguments
[INFO] [stderr]    |         |
[INFO] [stderr]    |         expected 3 arguments
[INFO] [stderr] 
[INFO] [stderr] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stderr]   --> src/ping_client2.rs:61:16
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let task = futures::future::poll_fn(move || -> Result<_, ()> {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^ ------------------------ takes 0 arguments
[INFO] [stderr]    |                |
[INFO] [stderr]    |                expected closure that takes 1 argument
[INFO] [stderr]    |
[INFO] [stderr] help: consider changing the closure to take and ignore the expected argument
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let task = futures::future::poll_fn(move |_| {
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `poll` found for struct `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>` in the current scope
[INFO] [stderr]   --> src/ping_client2.rs:63:25
[INFO] [stderr]    |
[INFO] [stderr] 63 |             match swarm.poll().expect("Error while polling swarm") {
[INFO] [stderr]    |                         ^^^^ method not found in `libp2p::libp2p_swarm::ExpandedSwarm<_, _, _, _, _>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `swarm` is a function, perhaps you wish to call it
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> src/ping_client2.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 |     NetworkBehaviour, Transport,
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 15 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0061, E0425, E0432, E0433, E0593, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `learn-libp2p`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "30abdb2d3a32efed7de36cf1515058a73d2f2fc58895e009b5c161020e5da1fc"`
[INFO] running `"docker" "rm" "-f" "30abdb2d3a32efed7de36cf1515058a73d2f2fc58895e009b5c161020e5da1fc"`
[INFO] [stdout] 30abdb2d3a32efed7de36cf1515058a73d2f2fc58895e009b5c161020e5da1fc
