[INFO] cloning repository https://github.com/n0-computer/krakensync
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/n0-computer/krakensync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn0-computer%2Fkrakensync", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn0-computer%2Fkrakensync'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1253017c10a73ec4789ed504ab524062599e7a59
[INFO] testing n0-computer/krakensync against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn0-computer%2Fkrakensync" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/n0-computer/krakensync
[INFO] finished tweaking git repo https://github.com/n0-computer/krakensync
[INFO] tweaked toml for git repo https://github.com/n0-computer/krakensync written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/n0-computer/krakensync on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/n0-computer/krakensync already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libipld-pb v0.15.0
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.12
[INFO] [stderr]   Downloaded clap_lex v0.3.0
[INFO] [stderr]   Downloaded once_cell v1.16.0
[INFO] [stderr]   Downloaded unicode-ident v1.0.5
[INFO] [stderr]   Downloaded proc-macro2 v1.0.47
[INFO] [stderr]   Downloaded itoa v1.0.4
[INFO] [stderr]   Downloaded cpufeatures v0.2.5
[INFO] [stderr]   Downloaded multihash-derive v0.8.0
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.10
[INFO] [stderr]   Downloaded cid v0.9.0
[INFO] [stderr]   Downloaded serde_bytes v0.11.7
[INFO] [stderr]   Downloaded iroh-car v0.1.3
[INFO] [stderr]   Downloaded pin-project v1.0.12
[INFO] [stderr]   Downloaded keccak v0.1.2
[INFO] [stderr]   Downloaded serde-big-array v0.3.3
[INFO] [stderr]   Downloaded libipld-json v0.15.0
[INFO] [stderr]   Downloaded libipld-cbor-derive v0.15.0
[INFO] [stderr]   Downloaded libipld-cbor v0.15.0
[INFO] [stderr]   Downloaded num_cpus v1.14.0
[INFO] [stderr]   Downloaded spin v0.9.4
[INFO] [stderr]   Downloaded unsigned-varint v0.7.1
[INFO] [stderr]   Downloaded libipld v0.15.0
[INFO] [stderr]   Downloaded libipld-core v0.15.0
[INFO] [stderr]   Downloaded multibase v0.9.1
[INFO] [stderr]   Downloaded base-x v0.2.11
[INFO] [stderr]   Downloaded libipld-macro v0.15.0
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded async-trait v0.1.58
[INFO] [stderr]   Downloaded semver v1.0.14
[INFO] [stderr]   Downloaded clap_derive v4.0.21
[INFO] [stderr]   Downloaded wyz v0.5.0
[INFO] [stderr]   Downloaded pin-project-internal v1.0.12
[INFO] [stderr]   Downloaded bumpalo v3.11.1
[INFO] [stderr]   Downloaded multihash v0.17.0
[INFO] [stderr]   Downloaded prost-derive v0.11.2
[INFO] [stderr]   Downloaded data-encoding v2.3.2
[INFO] [stderr]   Downloaded os_str_bytes v6.4.0
[INFO] [stderr]   Downloaded blake2s_simd v1.0.0
[INFO] [stderr]   Downloaded blake2b_simd v1.0.0
[INFO] [stderr]   Downloaded prost v0.11.3
[INFO] [stderr]   Downloaded anyhow v1.0.66
[INFO] [stderr]   Downloaded ahash v0.8.1
[INFO] [stderr]   Downloaded syn v1.0.103
[INFO] [stderr]   Downloaded parking_lot_core v0.9.4
[INFO] [stderr]   Downloaded futures-executor v0.3.25
[INFO] [stderr]   Downloaded core2 v0.4.0
[INFO] [stderr]   Downloaded serde_derive v1.0.147
[INFO] [stderr]   Downloaded futures v0.3.25
[INFO] [stderr]   Downloaded cc v1.0.74
[INFO] [stderr]   Downloaded serde v1.0.147
[INFO] [stderr]   Downloaded serde_json v1.0.87
[INFO] [stderr]   Downloaded clap v4.0.23
[INFO] [stderr]   Downloaded tokio v1.21.2
[INFO] [stderr]   Downloaded libc v0.2.137
[INFO] [stderr]   Downloaded quic-rpc v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321
[INFO] running `Command { std: "docker" "start" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]    Compiling serde_derive v1.0.147
[INFO] [stderr]    Compiling serde v1.0.147
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling thiserror v1.0.37
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling cc v1.0.74
[INFO] [stderr]    Compiling once_cell v1.16.0
[INFO] [stderr]    Compiling constant_time_eq v0.1.5
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling arrayref v0.3.6
[INFO] [stderr]    Compiling anyhow v1.0.66
[INFO] [stderr]    Compiling data-encoding v2.3.2
[INFO] [stderr]    Compiling keccak v0.1.2
[INFO] [stderr]    Compiling futures-sink v0.3.25
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]    Compiling cpufeatures v0.2.5
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling blake2s_simd v1.0.0
[INFO] [stderr]    Compiling blake2b_simd v1.0.0
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling itoa v1.0.4
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]    Compiling unsigned-varint v0.7.1
[INFO] [stderr]    Compiling tokio v1.21.2
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling num_cpus v1.14.0
[INFO] [stderr]    Compiling socket2 v0.4.7
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling futures-io v0.3.25
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling block-buffer v0.10.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling serde_json v1.0.87
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling digest v0.10.5
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling sha3 v0.10.6
[INFO] [stderr]    Compiling blake3 v1.3.1
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling async-trait v0.1.58
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling spin v0.9.4
[INFO] [stderr]    Compiling ahash v0.8.1
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling os_str_bytes v6.4.0
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling wyz v0.5.0
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling clap_lex v0.3.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.16
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.10
[INFO] [stderr]    Compiling futures-macro v0.3.25
[INFO] [stderr]    Compiling tokio-macros v1.8.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.23
[INFO] [stderr]    Compiling prost-derive v0.11.2
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling async-stream-impl v0.3.3
[INFO] [stderr]    Compiling clap_derive v4.0.21
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling data-encoding-macro v0.1.12
[INFO] [stderr]    Compiling multibase v0.9.1
[INFO] [stderr]    Compiling async-stream v0.3.3
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling pin-project v1.0.12
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling proc-macro-crate v1.2.1
[INFO] [stderr]    Compiling multihash-derive v0.8.0
[INFO] [stderr]    Compiling libipld-cbor-derive v0.15.0
[INFO] [stderr]    Compiling clap v4.0.23
[INFO] [stderr]    Compiling futures-executor v0.3.25
[INFO] [stderr]    Compiling futures v0.3.25
[INFO] [stderr]    Compiling bytes v1.3.0
[INFO] [stderr]    Compiling serde-big-array v0.3.3
[INFO] [stderr]    Compiling serde_bytes v0.11.7
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling multihash v0.17.0
[INFO] [stderr]    Compiling cid v0.9.0
[INFO] [stderr]    Compiling http v0.2.8
[INFO] [stderr]    Compiling prost v0.11.3
[INFO] [stderr]    Compiling libipld-core v0.15.0
[INFO] [stderr]    Compiling libipld-cbor v0.15.0
[INFO] [stderr]    Compiling libipld-macro v0.15.0
[INFO] [stderr]    Compiling libipld-pb v0.15.0
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling libipld-json v0.15.0
[INFO] [stderr]    Compiling libipld v0.15.0
[INFO] [stderr]    Compiling tokio-util v0.7.4
[INFO] [stderr]    Compiling integer-encoding v3.0.4
[INFO] [stderr]    Compiling iroh-car v0.1.3
[INFO] [stderr]    Compiling h2 v0.3.15
[INFO] [stderr]    Compiling hyper v0.14.23
[INFO] [stderr]    Compiling quic-rpc v0.2.2
[INFO] [stderr]    Compiling krakensync v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/network.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Context, Ok};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxStream`
[INFO] [stdout]  --> src/network.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stream::{self, BoxStream},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cbor::DagCborCodec`
[INFO] [stdout]  --> src/network.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libipld::{cbor::DagCborCodec, prelude::Codec, Ipld, IpldCodec};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `sync::Arc`
[INFO] [stdout]   --> src/network.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{self, stdout, Write},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     sync::Arc,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         loop {
[INFO] [stdout]  95 | |             let (req, c) = server.accept_one().await?;
[INFO] [stdout]  96 | |             let target = RpcStore(store.clone());
[INFO] [stdout]  97 | |             let s = server.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 113 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 114 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahash::HashMapExt`
[INFO] [stdout]  --> src/network.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ahash::HashMapExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/network.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Sink, SinkExt, Stream, StreamExt, TryFutureExt,
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]    --> src/core.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         changes: BoxStream<WantUpdate>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:538:52
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:538:59
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:540:56
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:540:63
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/core.rs:550:57
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:206:52
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:206:59
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:208:56
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:208:63
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/network.rs:218:57
[INFO] [stdout]     |
[INFO] [stdout] 218 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> src/network.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let server = KrakenServer2::new(server_addr, store.clone());
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/test_util.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for i in 0..branches {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min` is never used
[INFO] [stdout]    --> src/core.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Limits {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 274 |     fn min(&mut self, that: &Limits) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `have` and `want` are never used
[INFO] [stdout]    --> src/core.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub(crate) trait SyncApi: Debug + Send + Sync + 'static {
[INFO] [stdout]     |                  ------- methods in this trait
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 452 |     fn want(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peers` and `store` are never read
[INFO] [stdout]    --> src/core.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct Node {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 475 |     peers: AHashMap<u64, Box<dyn SyncApi>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 476 |     store: Store,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_peer` and `sync` are never used
[INFO] [stdout]    --> src/core.rs:505:19
[INFO] [stdout]     |
[INFO] [stdout] 504 | impl Node {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 505 |     pub(crate) fn add_peer(&mut self, id: u64, peer: Box<dyn SyncApi>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub(crate) fn sync(
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]    --> src/network.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct Node {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     server: KrakenServer2,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codec_name` is never used
[INFO] [stdout]    --> src/network.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn codec_name(codec: &IpldCodec) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `peer_sync_demo` is never used
[INFO] [stdout]    --> src/network.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) async fn peer_sync_demo() -> anyhow::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bits` is never used
[INFO] [stdout]   --> src/test_util.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_bits(bits: &str) -> anyhow::Result<BitVec> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WantResponseShort` is never used
[INFO] [stdout]   --> src/test_util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum WantResponseShort {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short` is never used
[INFO] [stdout]   --> src/test_util.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn short(response: WantResponse) -> WantResponseShort {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[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] 451 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 456 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 456 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>>;
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 460 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 468 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 468 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 489 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 498 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 498 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 511 |         query: Query,
[INFO] [stdout] 512 |     ) -> BoxFuture<anyhow::Result<BoxStream<anyhow::Result<()>>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 512 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, anyhow::Result<()>>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iroh-car v0.1.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/network.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Context, Ok};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxStream`
[INFO] [stdout]  --> src/network.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stream::{self, BoxStream},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cbor::DagCborCodec`
[INFO] [stdout]  --> src/network.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libipld::{cbor::DagCborCodec, prelude::Codec, Ipld, IpldCodec};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `sync::Arc`
[INFO] [stdout]   --> src/network.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{self, stdout, Write},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     sync::Arc,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         loop {
[INFO] [stdout]  95 | |             let (req, c) = server.accept_one().await?;
[INFO] [stdout]  96 | |             let target = RpcStore(store.clone());
[INFO] [stdout]  97 | |             let s = server.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 113 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 114 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahash::HashMapExt`
[INFO] [stdout]  --> src/network.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ahash::HashMapExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/network.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Sink, SinkExt, Stream, StreamExt, TryFutureExt,
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]    --> src/core.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         changes: BoxStream<WantUpdate>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:538:52
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:538:59
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:540:56
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:540:63
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/core.rs:550:57
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:206:52
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:206:59
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:208:56
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:208:63
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/network.rs:218:57
[INFO] [stdout]     |
[INFO] [stdout] 218 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> src/network.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let server = KrakenServer2::new(server_addr, store.clone());
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/test_util.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for i in 0..branches {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling krakensync v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `min` is never used
[INFO] [stdout]    --> src/core.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Limits {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 274 |     fn min(&mut self, that: &Limits) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `have` and `want` are never used
[INFO] [stdout]    --> src/core.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub(crate) trait SyncApi: Debug + Send + Sync + 'static {
[INFO] [stdout]     |                  ------- methods in this trait
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 452 |     fn want(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peers` and `store` are never read
[INFO] [stdout]    --> src/core.rs:475:5
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub struct Node {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 475 |     peers: AHashMap<u64, Box<dyn SyncApi>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 476 |     store: Store,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_peer` and `sync` are never used
[INFO] [stdout]    --> src/core.rs:505:19
[INFO] [stdout]     |
[INFO] [stdout] 504 | impl Node {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 505 |     pub(crate) fn add_peer(&mut self, id: u64, peer: Box<dyn SyncApi>) {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub(crate) fn sync(
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]    --> src/network.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct Node {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     server: KrakenServer2,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codec_name` is never used
[INFO] [stdout]    --> src/network.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn codec_name(codec: &IpldCodec) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `peer_sync_demo` is never used
[INFO] [stdout]    --> src/network.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) async fn peer_sync_demo() -> anyhow::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bits` is never used
[INFO] [stdout]   --> src/test_util.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn parse_bits(bits: &str) -> anyhow::Result<BitVec> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WantResponseShort` is never used
[INFO] [stdout]   --> src/test_util.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum WantResponseShort {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short` is never used
[INFO] [stdout]   --> src/test_util.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn short(response: WantResponse) -> WantResponseShort {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[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] 451 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 456 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 456 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>>;
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 460 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 468 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 468 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 489 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 498 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 498 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 511 |         query: Query,
[INFO] [stdout] 512 |     ) -> BoxFuture<anyhow::Result<BoxStream<anyhow::Result<()>>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 512 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, anyhow::Result<()>>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/network.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::{bail, Context, Ok};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxStream`
[INFO] [stdout]  --> src/network.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stream::{self, BoxStream},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cbor::DagCborCodec`
[INFO] [stdout]  --> src/network.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use libipld::{cbor::DagCborCodec, prelude::Codec, Ipld, IpldCodec};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `sync::Arc`
[INFO] [stdout]   --> src/network.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     io::{self, stdout, Write},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     sync::Arc,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/network.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         loop {
[INFO] [stdout]  95 | |             let (req, c) = server.accept_one().await?;
[INFO] [stdout]  96 | |             let target = RpcStore(store.clone());
[INFO] [stdout]  97 | |             let s = server.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 113 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 114 |           Ok(())
[INFO] [stdout]     |           ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahash::HashMapExt`
[INFO] [stdout]  --> src/network.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ahash::HashMapExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/network.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Sink, SinkExt, Stream, StreamExt, TryFutureExt,
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]    --> src/core.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 497 |         changes: BoxStream<WantUpdate>,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:538:52
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:538:59
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/core.rs:540:56
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/core.rs:540:63
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/core.rs:550:57
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:206:52
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:206:59
[INFO] [stdout]     |
[INFO] [stdout] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/network.rs:208:56
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cid`
[INFO] [stdout]    --> src/network.rs:208:63
[INFO] [stdout]     |
[INFO] [stdout] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]    --> src/network.rs:218:57
[INFO] [stdout]     |
[INFO] [stdout] 218 | ...                   WantResponse::InternalError(error) => {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> src/network.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let server = KrakenServer2::new(server_addr, store.clone());
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/test_util.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for i in 0..branches {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bitmap`
[INFO] [stdout]    --> src/tests.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let bitmap = store.have(Query::new(root))?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bitmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let mut node1 = Node::new(store1.clone());
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min` is never used
[INFO] [stdout]    --> src/core.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Limits {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 274 |     fn min(&mut self, that: &Limits) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `have` is never used
[INFO] [stdout]    --> src/core.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub(crate) trait SyncApi: Debug + Send + Sync + 'static {
[INFO] [stdout]     |                  ------- method in this trait
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]    --> src/network.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct Node {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     server: KrakenServer2,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `codec_name` is never used
[INFO] [stdout]    --> src/network.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn codec_name(codec: &IpldCodec) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `peer_sync_demo` is never used
[INFO] [stdout]    --> src/network.rs:395:21
[INFO] [stdout]     |
[INFO] [stdout] 395 | pub(crate) async fn peer_sync_demo() -> anyhow::Result<()> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[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] 451 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>>;
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 456 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 456 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>>;
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 460 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 468 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 468 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[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] 489 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 498 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 498 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/core.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 511 |         query: Query,
[INFO] [stdout] 512 |     ) -> BoxFuture<anyhow::Result<BoxStream<anyhow::Result<()>>>> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |          |                        |
[INFO] [stdout]     |          |                        the same lifetime is hidden here
[INFO] [stdout]     |          the same lifetime is hidden 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] 512 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, anyhow::Result<()>>>> {
[INFO] [stdout]     |                    +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iroh-car v0.1.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/network.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use anyhow::{bail, Context, Ok};
[INFO] [stderr]   |                    ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BoxStream`
[INFO] [stderr]  --> src/network.rs:6:20
[INFO] [stderr]   |
[INFO] [stderr] 6 |     stream::{self, BoxStream},
[INFO] [stderr]   |                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cbor::DagCborCodec`
[INFO] [stderr]  --> src/network.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use libipld::{cbor::DagCborCodec, prelude::Codec, Ipld, IpldCodec};
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `self` and `sync::Arc`
[INFO] [stderr]   --> src/network.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 |     io::{self, stdout, Write},
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     sync::Arc,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/network.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr]  94 | /         loop {
[INFO] [stderr]  95 | |             let (req, c) = server.accept_one().await?;
[INFO] [stderr]  96 | |             let target = RpcStore(store.clone());
[INFO] [stderr]  97 | |             let s = server.clone();
[INFO] [stderr] ...   |
[INFO] [stderr] 113 | |         }
[INFO] [stderr]     | |_________- any code following this expression is unreachable
[INFO] [stderr] 114 |           Ok(())
[INFO] [stderr]     |           ^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ahash::HashMapExt`
[INFO] [stderr]  --> src/network.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ahash::HashMapExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SinkExt`
[INFO] [stderr]  --> src/network.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 |     Sink, SinkExt, Stream, StreamExt, TryFutureExt,
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `changes`
[INFO] [stderr]    --> src/core.rs:497:9
[INFO] [stderr]     |
[INFO] [stderr] 497 |         changes: BoxStream<WantUpdate>,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/core.rs:538:52
[INFO] [stderr]     |
[INFO] [stderr] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stderr]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cid`
[INFO] [stderr]    --> src/core.rs:538:59
[INFO] [stderr]     |
[INFO] [stderr] 538 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stderr]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/core.rs:540:56
[INFO] [stderr]     |
[INFO] [stderr] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stderr]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cid`
[INFO] [stderr]    --> src/core.rs:540:63
[INFO] [stderr]     |
[INFO] [stderr] 540 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stderr]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `error`
[INFO] [stderr]    --> src/core.rs:550:57
[INFO] [stderr]     |
[INFO] [stderr] 550 | ...                   WantResponse::InternalError(error) => {
[INFO] [stderr]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/network.rs:206:52
[INFO] [stderr]     |
[INFO] [stderr] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stderr]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cid`
[INFO] [stderr]    --> src/network.rs:206:59
[INFO] [stderr]     |
[INFO] [stderr] 206 | ...                   WantResponse::NotFound(index, cid) => {
[INFO] [stderr]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/network.rs:208:56
[INFO] [stderr]     |
[INFO] [stderr] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stderr]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cid`
[INFO] [stderr]    --> src/network.rs:208:63
[INFO] [stderr]     |
[INFO] [stderr] 208 | ...                   WantResponse::StopNotFound(index, cid) => {
[INFO] [stderr]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `error`
[INFO] [stderr]    --> src/network.rs:218:57
[INFO] [stderr]     |
[INFO] [stderr] 218 | ...                   WantResponse::InternalError(error) => {
[INFO] [stderr]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `server`
[INFO] [stderr]    --> src/network.rs:416:9
[INFO] [stderr]     |
[INFO] [stderr] 416 |     let server = KrakenServer2::new(server_addr, store.clone());
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/test_util.rs:54:13
[INFO] [stderr]    |
[INFO] [stderr] 54 |         for i in 0..branches {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: method `min` is never used
[INFO] [stderr]    --> src/core.rs:274:8
[INFO] [stderr]     |
[INFO] [stderr] 273 | impl Limits {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] 274 |     fn min(&mut self, that: &Limits) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `have` and `want` are never used
[INFO] [stderr]    --> src/core.rs:451:8
[INFO] [stderr]     |
[INFO] [stderr] 450 | pub(crate) trait SyncApi: Debug + Send + Sync + 'static {
[INFO] [stderr]     |                  ------- methods in this trait
[INFO] [stderr] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 452 |     fn want(
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `peers` and `store` are never read
[INFO] [stderr]    --> src/core.rs:475:5
[INFO] [stderr]     |
[INFO] [stderr] 474 | pub struct Node {
[INFO] [stderr]     |            ---- fields in this struct
[INFO] [stderr] 475 |     peers: AHashMap<u64, Box<dyn SyncApi>>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 476 |     store: Store,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Node` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_peer` and `sync` are never used
[INFO] [stderr]    --> src/core.rs:505:19
[INFO] [stderr]     |
[INFO] [stderr] 504 | impl Node {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] 505 |     pub(crate) fn add_peer(&mut self, id: u64, peer: Box<dyn SyncApi>) {
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 509 |     pub(crate) fn sync(
[INFO] [stderr]     |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `server` is never read
[INFO] [stderr]    --> src/network.rs:146:5
[INFO] [stderr]     |
[INFO] [stderr] 142 | pub struct Node {
[INFO] [stderr]     |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 146 |     server: KrakenServer2,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `codec_name` is never used
[INFO] [stderr]    --> src/network.rs:245:4
[INFO] [stderr]     |
[INFO] [stderr] 245 | fn codec_name(codec: &IpldCodec) -> &str {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `peer_sync_demo` is never used
[INFO] [stderr]    --> src/network.rs:395:21
[INFO] [stderr]     |
[INFO] [stderr] 395 | pub(crate) async fn peer_sync_demo() -> anyhow::Result<()> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_bits` is never used
[INFO] [stderr]   --> src/test_util.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn parse_bits(bits: &str) -> anyhow::Result<BitVec> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `WantResponseShort` is never used
[INFO] [stderr]   --> src/test_util.rs:69:10
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub enum WantResponseShort {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `short` is never used
[INFO] [stderr]   --> src/test_util.rs:78:8
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub fn short(response: WantResponse) -> WantResponseShort {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:451:13
[INFO] [stderr]     |
[INFO] [stderr] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stderr]     |             ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |             |
[INFO] [stderr]     |             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 451 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>>;
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:453:9
[INFO] [stderr]     |
[INFO] [stderr] 453 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 456 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>>;
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |          |                        |
[INFO] [stderr]     |          |                        the same lifetime is hidden here
[INFO] [stderr]     |          the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 456 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>>;
[INFO] [stderr]     |                    +++                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:460:13
[INFO] [stderr]     |
[INFO] [stderr] 460 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[INFO] [stderr]     |             ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |             |
[INFO] [stderr]     |             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 460 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:465:9
[INFO] [stderr]     |
[INFO] [stderr] 465 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 468 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |          |                        |
[INFO] [stderr]     |          |                        the same lifetime is hidden here
[INFO] [stderr]     |          the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 468 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stderr]     |                    +++                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:489:13
[INFO] [stderr]     |
[INFO] [stderr] 489 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>> {
[INFO] [stderr]     |             ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |             |
[INFO] [stderr]     |             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 489 |     fn have(&self, query: Query) -> BoxFuture<'_, anyhow::Result<HaveResponse>> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:495:9
[INFO] [stderr]     |
[INFO] [stderr] 495 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 498 |     ) -> BoxFuture<anyhow::Result<BoxStream<WantResponse>>> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |          |                        |
[INFO] [stderr]     |          |                        the same lifetime is hidden here
[INFO] [stderr]     |          the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 498 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, WantResponse>>> {
[INFO] [stderr]     |                    +++                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/core.rs:510:9
[INFO] [stderr]     |
[INFO] [stderr] 510 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 511 |         query: Query,
[INFO] [stderr] 512 |     ) -> BoxFuture<anyhow::Result<BoxStream<anyhow::Result<()>>>> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |          |                        |
[INFO] [stderr]     |          |                        the same lifetime is hidden here
[INFO] [stderr]     |          the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 512 |     ) -> BoxFuture<'_, anyhow::Result<BoxStream<'_, anyhow::Result<()>>>> {
[INFO] [stderr]     |                    +++                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bitmap`
[INFO] [stderr]    --> src/tests.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |     let bitmap = store.have(Query::new(root))?;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bitmap`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tests.rs:185:9
[INFO] [stderr]     |
[INFO] [stderr] 185 |     let mut node1 = Node::new(store1.clone());
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `have` is never used
[INFO] [stderr]    --> src/core.rs:451:8
[INFO] [stderr]     |
[INFO] [stderr] 450 | pub(crate) trait SyncApi: Debug + Send + Sync + 'static {
[INFO] [stderr]     |                  ------- method in this trait
[INFO] [stderr] 451 |     fn have(&self, query: Query) -> BoxFuture<anyhow::Result<HaveResponse>>;
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `krakensync` (lib) generated 37 warnings (run `cargo fix --lib -p krakensync` to apply 24 suggestions)
[INFO] [stderr] warning: `krakensync` (lib test) generated 34 warnings (31 duplicates) (run `cargo fix --lib -p krakensync --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: iroh-car v0.1.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/krakensync-1845f4ed530be80c)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::smoke ... ok
[INFO] [stdout] test tests::two_peer_sync ... ok
[INFO] [stdout] test tests::mk_tree ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.10s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/krakensync-bfe8c334278a068c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests krakensync
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321", kill_on_drop: false }`
[INFO] [stdout] 70598d6fa8a14508e12fc9d397c40c03ff568d3d625ad89a08f2ca7fca077321
