[INFO] cloning repository https://github.com/b5/iroh-ranger
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/b5/iroh-ranger" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fb5%2Firoh-ranger", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fb5%2Firoh-ranger'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9ff4e8952ed32015cc7d610e183ff1b52db54fbb
[INFO] checking b5/iroh-ranger against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fb5%2Firoh-ranger" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/b5/iroh-ranger
[INFO] finished tweaking git repo https://github.com/b5/iroh-ranger
[INFO] tweaked toml for git repo https://github.com/b5/iroh-ranger written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/b5/iroh-ranger on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/b5/iroh-ranger 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5bbb61a10def80a84f6c3faab1f1dea81dd31771d990b9b72969123bcf09f06
[INFO] running `Command { std: "docker" "start" "-a" "b5bbb61a10def80a84f6c3faab1f1dea81dd31771d990b9b72969123bcf09f06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5bbb61a10def80a84f6c3faab1f1dea81dd31771d990b9b72969123bcf09f06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5bbb61a10def80a84f6c3faab1f1dea81dd31771d990b9b72969123bcf09f06", kill_on_drop: false }`
[INFO] [stdout] b5bbb61a10def80a84f6c3faab1f1dea81dd31771d990b9b72969123bcf09f06
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ade3adfd57742ad670c609076de80e375ba047211468b23409f3eafa676546a
[INFO] running `Command { std: "docker" "start" "-a" "0ade3adfd57742ad670c609076de80e375ba047211468b23409f3eafa676546a", kill_on_drop: false }`
[INFO] [stderr]    Compiling portable-atomic v1.11.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling cc v1.2.25
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]    Compiling rustls v0.23.27
[INFO] [stderr]    Compiling ucd-parse v0.1.13
[INFO] [stderr]     Checking base64ct v1.7.3
[INFO] [stderr]    Compiling der_derive v0.7.3
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling toml_edit v0.22.26
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling precis-tools v0.1.9
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling iroh-quinn-udp v0.5.7
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking cordyceps v0.3.4
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking diatomic-waker v0.2.3
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling precis-core v0.1.11
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]    Compiling snafu-derive v0.8.6
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking futures-buffered v0.2.11
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking webpki-roots v1.0.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling n0-future v0.1.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking netlink-packet-core v0.7.0
[INFO] [stderr]    Compiling precis-profiles v0.1.12
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking pnet_base v0.34.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking snafu v0.8.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling iroh-metrics-derive v0.2.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling iroh-quinn v0.13.0
[INFO] [stderr]     Checking asn1-rs v0.6.2
[INFO] [stderr]    Compiling pkarr v3.7.2
[INFO] [stderr]    Compiling netwatch v0.5.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling oid-registry v0.7.1
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking xml-rs v0.8.26
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking base32 v0.5.1
[INFO] [stderr]     Checking iroh-metrics v0.34.0
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking enumflags2 v0.7.11
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]     Checking ntimestamp v1.0.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking attohttpc v0.24.1
[INFO] [stderr]     Checking xmltree v0.10.3
[INFO] [stderr]     Checking hmac-sha1 v0.2.2
[INFO] [stderr]     Checking pnet_macros_support v0.34.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking netlink-packet-route v0.23.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking netdev v0.31.0
[INFO] [stderr]    Compiling pnet_macros v0.34.0
[INFO] [stderr]     Checking simple-dns v0.9.3
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling iroh-relay v0.35.0
[INFO] [stderr]    Compiling nested_enum_utils v0.2.2
[INFO] [stderr]     Checking quoted-string-parser v0.1.0
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking netlink-sys v0.8.7
[INFO] [stderr]     Checking async-compat v0.2.4
[INFO] [stderr]     Checking hickory-proto v0.25.2
[INFO] [stderr]    Compiling postcard-derive v0.1.2
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]     Checking netlink-proto v0.11.5
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking cobs v0.2.3
[INFO] [stderr]     Checking tower-http v0.6.5
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking hmac-sha256 v1.1.12
[INFO] [stderr]     Checking hostname-validator v1.1.1
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking bounded-integer v0.5.8
[INFO] [stderr]     Checking lru v0.13.0
[INFO] [stderr]     Checking resolv-conf v0.7.4
[INFO] [stderr]     Checking rustix v1.0.7
[INFO] [stderr]     Checking postcard v1.1.1
[INFO] [stderr]     Checking pnet_packet v0.34.0
[INFO] [stderr]     Checking der-parser v9.0.0
[INFO] [stderr]     Checking serdect v0.2.0
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stderr]     Checking rustls-webpki v0.103.3
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking crypto_secretbox v0.1.1
[INFO] [stderr]     Checking iroh-base v0.35.0
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]    Compiling iroh v0.35.0
[INFO] [stderr]     Checking z32 v1.3.0
[INFO] [stderr]     Checking x509-parser v0.16.0
[INFO] [stderr]     Checking crypto_box v0.9.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking backon v1.5.1
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling test-strategy v0.4.1
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.6.0
[INFO] [stderr]     Checking surge-ping v0.8.2
[INFO] [stderr]     Checking hickory-resolver v0.25.2
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking iroh-quinn-proto v0.13.0
[INFO] [stderr]     Checking tokio-websockets v0.11.4
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.13
[INFO] [stderr]     Checking hyper-rustls v0.27.6
[INFO] [stderr]     Checking igd-next v0.16.1
[INFO] [stderr]     Checking reqwest v0.12.19
[INFO] [stderr]     Checking portmapper v0.5.0
[INFO] [stderr]     Checking stun-rs v0.1.11
[INFO] [stderr]     Checking iroh-ranger v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `ALPN` is never used
[INFO] [stdout]   --> src/protocol.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ALPN: &[u8] = b"iroh/ranger/0";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ranger` is never constructed
[INFO] [stdout]   --> src/protocol.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Ranger {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `diff` are never used
[INFO] [stdout]   --> src/protocol.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Ranger {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     /// Create a ranger protocol backed by application memory
[INFO] [stdout] 21 |     pub fn new(endpoint: Endpoint) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn diff(&self, _addr: NodeAddr, _set: HashSet<Vec<u8>>) -> Result<WhatIsMissing> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangerInner` is never constructed
[INFO] [stdout]   --> src/protocol.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct RangerInner {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhatIsMissing` is never constructed
[INFO] [stdout]  --> src/ranger.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct WhatIsMissing {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ContentStatus` is never used
[INFO] [stdout]   --> src/ranger.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ContentStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RangeEntry` is never used
[INFO] [stdout]   --> src/ranger.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub trait RangeEntry: Debug + Clone {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RangeKey` is never used
[INFO] [stdout]   --> src/ranger.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub trait RangeKey: Sized + Debug + Ord + PartialEq + Clone + 'static {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RangeValue` is never used
[INFO] [stdout]   --> src/ranger.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub trait RangeValue: Sized + Debug + Ord + PartialEq + Clone + 'static {}
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Range` is never constructed
[INFO] [stdout]   --> src/ranger.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct Range<K> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `x`, `y`, `new`, and `map` are never used
[INFO] [stdout]   --> src/ranger.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl<K> Range<K> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 85 |     pub fn x(&self) -> &K {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn y(&self) -> &K {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn new(x: K, y: K) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn map<X>(self, f: impl FnOnce(K, K) -> (X, X)) -> Range<X> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_all` and `contains` are never used
[INFO] [stdout]    --> src/ranger.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<K: Ord> Range<K> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 104 |     pub fn is_all(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn contains(&self, t: &K) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fingerprint` is never constructed
[INFO] [stdout]    --> src/ranger.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub struct Fingerprint(pub [u8; 32]);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `empty` and `new` are never used
[INFO] [stdout]    --> src/ranger.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Fingerprint {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 133 |     /// The fingerprint of the empty set
[INFO] [stdout] 134 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn new<T: RangeEntry>(val: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeFingerprint` is never constructed
[INFO] [stdout]    --> src/ranger.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct RangeFingerprint<K> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeItem` is never constructed
[INFO] [stdout]    --> src/ranger.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct RangeItem<E: RangeEntry> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MessagePart` is never used
[INFO] [stdout]    --> src/ranger.rs:179:10
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub enum MessagePart<E: RangeEntry> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_range_fingerprint`, `is_range_item`, and `values` are never used
[INFO] [stdout]    --> src/ranger.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl<E: RangeEntry> MessagePart<E> {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] 193 |     pub fn is_range_fingerprint(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn is_range_item(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn values(&self) -> Option<&[(E, ContentStatus)]> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]    --> src/ranger.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Message<E: RangeEntry> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `init`, `parts`, `values`, and `value_count` are never used
[INFO] [stdout]    --> src/ranger.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl<E: RangeEntry> Message<E> {
[INFO] [stdout]     | ------------------------------ associated items in this implementation
[INFO] [stdout] 219 |     /// Construct the initial message.
[INFO] [stdout] 220 |     fn init<S: Store<E>>(store: &mut S) -> Result<Self, S::Error> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn parts(&self) -> &[MessagePart<E>] {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn values(&self) -> impl Iterator<Item = &(E, ContentStatus)> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn value_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Store` is never used
[INFO] [stdout]    --> src/ranger.rs:241:11
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub trait Store<E: RangeEntry>: Sized {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncConfig` is never constructed
[INFO] [stdout]    --> src/ranger.rs:682:12
[INFO] [stdout]     |
[INFO] [stdout] 682 | pub struct SyncConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InsertOutcome` is never used
[INFO] [stdout]    --> src/ranger.rs:700:10
[INFO] [stdout]     |
[INFO] [stdout] 700 | pub enum InsertOutcome {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `rpc`
[INFO] [stdout]  --> tests/sync.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg(feature = "rpc")]
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `rpc` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALPN` is never used
[INFO] [stdout]   --> src/protocol.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ALPN: &[u8] = b"iroh/ranger/0";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ranger` is never constructed
[INFO] [stdout]   --> src/protocol.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Ranger {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `diff` are never used
[INFO] [stdout]   --> src/protocol.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Ranger {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 20 |     /// Create a ranger protocol backed by application memory
[INFO] [stdout] 21 |     pub fn new(endpoint: Endpoint) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn diff(&self, _addr: NodeAddr, _set: HashSet<Vec<u8>>) -> Result<WhatIsMissing> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangerInner` is never constructed
[INFO] [stdout]   --> src/protocol.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct RangerInner {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WhatIsMissing` is never constructed
[INFO] [stdout]  --> src/ranger.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct WhatIsMissing {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_prefixed_by` is never used
[INFO] [stdout]   --> src/ranger.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub trait RangeKey: Sized + Debug + Ord + PartialEq + Clone + 'static {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn is_prefixed_by(&self, other: &Self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map` is never used
[INFO] [stdout]   --> src/ranger.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl<K> Range<K> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn map<X>(self, f: impl FnOnce(K, K) -> (X, X)) -> Range<X> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ranger.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Fingerprint {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn new<T: RangeEntry>(val: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `parts`, `values`, and `value_count` are never used
[INFO] [stdout]    --> src/ranger.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl<E: RangeEntry> Message<E> {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn parts(&self) -> &[MessagePart<E>] {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn values(&self) -> impl Iterator<Item = &(E, ContentStatus)> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn value_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `prefixed_by`, and `entry_remove` are never used
[INFO] [stdout]    --> src/ranger.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub trait Store<E: RangeEntry>: Sized {
[INFO] [stdout]     |           ----- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 264 |     fn is_empty(&mut self) -> Result<bool, Self::Error>;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     fn prefixed_by(&mut self, prefix: &E::Key) -> Result<Self::RangeIterator<'_>, Self::Error>;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn entry_remove(&mut self, key: &E::Key) -> Result<Option<E>, Self::Error>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `removed` is never read
[INFO] [stdout]    --> src/ranger.rs:708:9
[INFO] [stdout]     |
[INFO] [stdout] 705 |     Inserted {
[INFO] [stdout]     |     -------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 708 |         removed: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InsertOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Prefix` is never constructed
[INFO] [stdout]    --> src/ranger.rs:892:9
[INFO] [stdout]     |
[INFO] [stdout] 889 |     enum SimpleFilter<K> {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 892 |         Prefix(K),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimpleFilter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:790:75
[INFO] [stdout]     |
[INFO] [stdout] 790 |           fn get(&mut self, key: &K) -> Result<Option<(K, V)>, Self::Error> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 791 | |             Ok(self.data.get(key).cloned().map(|v| (key.clone(), v)))
[INFO] [stdout] 792 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:791:13
[INFO] [stdout]     |
[INFO] [stdout] 791 |             Ok(self.data.get(key).cloned().map(|v| (key.clone(), v)))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/ranger.rs:794:57
[INFO] [stdout]     |
[INFO] [stdout] 794 |           fn len(&mut self) -> Result<usize, Self::Error> {
[INFO] [stdout]     |  _________________________________________________________^
[INFO] [stdout] 795 | |             Ok(self.data.len())
[INFO] [stdout] 796 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/ranger.rs:795:13
[INFO] [stdout]     |
[INFO] [stdout] 795 |             Ok(self.data.len())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Infallible>
[INFO] [stdout]    --> src/ranger.rs:798:61
[INFO] [stdout]     |
[INFO] [stdout] 798 |           fn is_empty(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |  _____________________________________________________________^
[INFO] [stdout] 799 | |             Ok(self.data.is_empty())
[INFO] [stdout] 800 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<bool, Infallible>
[INFO] [stdout]    --> src/ranger.rs:799:13
[INFO] [stdout]     |
[INFO] [stdout] 799 |             Ok(self.data.is_empty())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ranger::Fingerprint, Infallible>
[INFO] [stdout]    --> src/ranger.rs:803:93
[INFO] [stdout]     |
[INFO] [stdout] 803 |           fn get_fingerprint(&mut self, range: &Range<K>) -> Result<Fingerprint, Self::Error> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 804 | |             let elements = self.get_range(range.clone())?;
[INFO] [stdout] 805 | |             let mut fp = Fingerprint::empty();
[INFO] [stdout] 806 | |             for el in elements {
[INFO] [stdout] ...   |
[INFO] [stdout] 811 | |             Ok(fp)
[INFO] [stdout] 812 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: ControlFlow<Result<Infallible, Infallible>, SimpleRangeIterator<'_, K, V>>
[INFO] [stdout]    --> src/ranger.rs:804:28
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let elements = self.get_range(range.clone())?;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:804:28
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let elements = self.get_range(range.clone())?;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ranger::Fingerprint, Infallible>
[INFO] [stdout]    --> src/ranger.rs:804:28
[INFO] [stdout]     |
[INFO] [stdout] 804 |             let elements = self.get_range(range.clone())?;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: ControlFlow<Result<Infallible, Infallible>, (K, V)>
[INFO] [stdout]    --> src/ranger.rs:807:26
[INFO] [stdout]     |
[INFO] [stdout] 807 |                 let el = el?;
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<(K, V), Infallible>
[INFO] [stdout]    --> src/ranger.rs:807:26
[INFO] [stdout]     |
[INFO] [stdout] 807 |                 let el = el?;
[INFO] [stdout]     |                          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ranger::Fingerprint, Infallible>
[INFO] [stdout]    --> src/ranger.rs:807:26
[INFO] [stdout]     |
[INFO] [stdout] 807 |                 let el = el?;
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ranger::Fingerprint, Infallible>
[INFO] [stdout]    --> src/ranger.rs:811:13
[INFO] [stdout]     |
[INFO] [stdout] 811 |             Ok(fp)
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:826:98
[INFO] [stdout]     |
[INFO] [stdout] 826 |           fn get_range(&mut self, range: Range<K>) -> Result<Self::RangeIterator<'_>, Self::Error> {
[INFO] [stdout]     |  __________________________________________________________________________________________________^
[INFO] [stdout] 827 | |             // TODO: this is not very efficient, optimize depending on data structure
[INFO] [stdout] 828 | |             let iter = self.data.iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 833 | |             })
[INFO] [stdout] 834 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:830:13
[INFO] [stdout]     |
[INFO] [stdout] 830 | /             Ok(SimpleRangeIterator {
[INFO] [stdout] 831 | |                 iter,
[INFO] [stdout] 832 | |                 filter: SimpleFilter::Range(range),
[INFO] [stdout] 833 | |             })
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:836:84
[INFO] [stdout]     |
[INFO] [stdout] 836 |           fn entry_remove(&mut self, key: &K) -> Result<Option<(K, V)>, Self::Error> {
[INFO] [stdout]     |  ____________________________________________________________________________________^
[INFO] [stdout] 837 | |             let res = self.data.remove(key).map(|v| (key.clone(), v));
[INFO] [stdout] 838 | |             Ok(res)
[INFO] [stdout] 839 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:838:13
[INFO] [stdout]     |
[INFO] [stdout] 838 |             Ok(res)
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:841:75
[INFO] [stdout]     |
[INFO] [stdout] 841 |           fn all(&mut self) -> Result<Self::RangeIterator<'_>, Self::Error> {
[INFO] [stdout]     |  ___________________________________________________________________________^
[INFO] [stdout] 842 | |             let iter = self.data.iter();
[INFO] [stdout] 843 | |             Ok(SimpleRangeIterator {
[INFO] [stdout] 844 | |                 iter,
[INFO] [stdout] 845 | |                 filter: SimpleFilter::None,
[INFO] [stdout] 846 | |             })
[INFO] [stdout] 847 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:843:13
[INFO] [stdout]     |
[INFO] [stdout] 843 | /             Ok(SimpleRangeIterator {
[INFO] [stdout] 844 | |                 iter,
[INFO] [stdout] 845 | |                 filter: SimpleFilter::None,
[INFO] [stdout] 846 | |             })
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::vec::IntoIter<Result<(K, V), Infallible>>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:850:93
[INFO] [stdout]     |
[INFO] [stdout] 850 |           fn prefixes_of(&mut self, key: &K) -> Result<Self::ParentIterator<'_>, Self::Error> {
[INFO] [stdout]     |  _____________________________________________________________________________________________^
[INFO] [stdout] 851 | |             let mut res = vec![];
[INFO] [stdout] 852 | |             for (k, v) in self.data.iter() {
[INFO] [stdout] 853 | |                 if k.is_prefix_of(key) {
[INFO] [stdout] ...   |
[INFO] [stdout] 857 | |             Ok(res.into_iter())
[INFO] [stdout] 858 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<(K, V), Infallible>
[INFO] [stdout]    --> src/ranger.rs:854:30
[INFO] [stdout]     |
[INFO] [stdout] 854 |                     res.push(Ok((k.clone(), v.clone())));
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::vec::IntoIter<Result<(K, V), Infallible>>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:857:13
[INFO] [stdout]     |
[INFO] [stdout] 857 |             Ok(res.into_iter())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:860:95
[INFO] [stdout]     |
[INFO] [stdout] 860 |           fn prefixed_by(&mut self, prefix: &K) -> Result<Self::RangeIterator<'_>, Self::Error> {
[INFO] [stdout]     |  _______________________________________________________________________________________________^
[INFO] [stdout] 861 | |             let iter = self.data.iter();
[INFO] [stdout] 862 | |             Ok(SimpleRangeIterator {
[INFO] [stdout] 863 | |                 iter,
[INFO] [stdout] 864 | |                 filter: SimpleFilter::Prefix(prefix.clone()),
[INFO] [stdout] 865 | |             })
[INFO] [stdout] 866 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]    --> src/ranger.rs:862:13
[INFO] [stdout]     |
[INFO] [stdout] 862 | /             Ok(SimpleRangeIterator {
[INFO] [stdout] 863 | |                 iter,
[INFO] [stdout] 864 | |                 filter: SimpleFilter::Prefix(prefix.clone()),
[INFO] [stdout] 865 | |             })
[INFO] [stdout]     | |______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/ranger.rs:872:41
[INFO] [stdout]     |
[INFO] [stdout] 872 |           ) -> Result<usize, Self::Error> {
[INFO] [stdout]     |  _________________________________________^
[INFO] [stdout] 873 | |             let old_len = self.data.len();
[INFO] [stdout] 874 | |             self.data.retain(|k, v| {
[INFO] [stdout] 875 | |                 let remove = prefix.is_prefix_of(k) && predicate(v);
[INFO] [stdout] ...   |
[INFO] [stdout] 878 | |             Ok(old_len - self.data.len())
[INFO] [stdout] 879 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/ranger.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 |             Ok(old_len - self.data.len())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<(K, V), Infallible>
[INFO] [stdout]    --> src/ranger.rs:913:33
[INFO] [stdout]     |
[INFO] [stdout] 913 |                     return Some(Ok((next.0.clone(), next.1.clone())));
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `iroh-ranger` (lib test) due to 61 previous errors; 12 warnings emitted
[INFO] [stdout] error: this type will no longer be must used: Result<InsertOutcome, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1162:13
[INFO] [stdout]      |
[INFO] [stdout] 1162 |             alice.put((k, v)).unwrap();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<InsertOutcome, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1167:13
[INFO] [stdout]      |
[INFO] [stdout] 1167 |             bob.put((k, v)).unwrap();
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1211:18
[INFO] [stdout]      |
[INFO] [stdout] 1211 |             dbg!(self.alice.all().unwrap().collect::<Vec<_>>());
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1214:21
[INFO] [stdout]      |
[INFO] [stdout] 1214 |                     self.alice.get(e.key()).unwrap().as_ref(),
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1223:17
[INFO] [stdout]      |
[INFO] [stdout] 1223 |                 self.alice.len().unwrap(),
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1230:18
[INFO] [stdout]      |
[INFO] [stdout] 1230 |             dbg!(self.bob.all().unwrap().collect::<Vec<_>>());
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1234:21
[INFO] [stdout]      |
[INFO] [stdout] 1234 |                     self.bob.get(e.key()).unwrap().as_ref(),
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1241:40
[INFO] [stdout]      |
[INFO] [stdout] 1241 |             assert_eq!(expected.len(), self.bob.len().unwrap(), "{}: (bob)", ctx);
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<InsertOutcome, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1324:17
[INFO] [stdout]      |
[INFO] [stdout] 1324 |                 alice.put(e.clone()).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1329:37
[INFO] [stdout]      |
[INFO] [stdout] 1329 |             let alice_now: Vec<_> = alice.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1329:37
[INFO] [stdout]      |
[INFO] [stdout] 1329 |             let alice_now: Vec<_> = alice.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<InsertOutcome, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1337:17
[INFO] [stdout]      |
[INFO] [stdout] 1337 |                 bob.put(e.clone()).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1342:35
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             let bob_now: Vec<_> = bob.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1342:35
[INFO] [stdout]      |
[INFO] [stdout] 1342 |             let bob_now: Vec<_> = bob.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1350:33
[INFO] [stdout]      |
[INFO] [stdout] 1350 |         let alice_now: Vec<_> = res.alice.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1350:33
[INFO] [stdout]      |
[INFO] [stdout] 1350 |         let alice_now: Vec<_> = res.alice.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1360:31
[INFO] [stdout]      |
[INFO] [stdout] 1360 |         let bob_now: Vec<_> = res.bob.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, K, V>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1360:31
[INFO] [stdout]      |
[INFO] [stdout] 1360 |         let bob_now: Vec<_> = res.bob.all().unwrap().collect::<Result<_, _>>().unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<ranger::Message<(K, V)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1419:31
[INFO] [stdout]      |
[INFO] [stdout] 1419 |         let initial_message = alice.initial_message().unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<ranger::Message<(K, V)>>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1428:32
[INFO] [stdout]      |
[INFO] [stdout] 1428 |               if let Some(msg) = bob
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1429 | |                 .process_message(
[INFO] [stdout] 1430 | |                     &Default::default(),
[INFO] [stdout] 1431 | |                     msg,
[INFO] [stdout] ...    |
[INFO] [stdout] 1434 | |                     |_, _| ContentStatus::Complete,
[INFO] [stdout] 1435 | |                 )
[INFO] [stdout]      | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::option::Option<ranger::Message<(K, V)>>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1439:31
[INFO] [stdout]      |
[INFO] [stdout] 1439 |                   next_to_bob = alice
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1440 | |                     .process_message(
[INFO] [stdout] 1441 | |                         &Default::default(),
[INFO] [stdout] 1442 | |                         msg,
[INFO] [stdout] ...    |
[INFO] [stdout] 1445 | |                         |_, _| ContentStatus::Complete,
[INFO] [stdout] 1446 | |                     )
[INFO] [stdout]      | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1473:27
[INFO] [stdout]      |
[INFO] [stdout] 1473 |           let all: Vec<_> = store
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout] 1474 | |             .get_range(Range::new("", ""))
[INFO] [stdout] 1475 | |             .unwrap()
[INFO] [stdout] 1476 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1473:27
[INFO] [stdout]      |
[INFO] [stdout] 1473 |           let all: Vec<_> = store
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout] 1474 | |             .get_range(Range::new("", ""))
[INFO] [stdout]      | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1480:31
[INFO] [stdout]      |
[INFO] [stdout] 1480 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1481 | |             .get_range(("bee", "eel").into())
[INFO] [stdout] 1482 | |             .unwrap()
[INFO] [stdout] 1483 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1480:31
[INFO] [stdout]      |
[INFO] [stdout] 1480 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1481 | |             .get_range(("bee", "eel").into())
[INFO] [stdout]      | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1488:31
[INFO] [stdout]      |
[INFO] [stdout] 1488 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1489 | |             .get_range(("", "eel").into())
[INFO] [stdout] 1490 | |             .unwrap()
[INFO] [stdout] 1491 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1488:31
[INFO] [stdout]      |
[INFO] [stdout] 1488 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1489 | |             .get_range(("", "eel").into())
[INFO] [stdout]      | |__________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1495:31
[INFO] [stdout]      |
[INFO] [stdout] 1495 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1496 | |             .get_range(("cat", "hog").into())
[INFO] [stdout] 1497 | |             .unwrap()
[INFO] [stdout] 1498 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1495:31
[INFO] [stdout]      |
[INFO] [stdout] 1495 |           let regular: Vec<_> = store
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1496 | |             .get_range(("cat", "hog").into())
[INFO] [stdout]      | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1503:32
[INFO] [stdout]      |
[INFO] [stdout] 1503 |           let excluded: Vec<_> = store
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1504 | |             .get_range(("fox", "bee").into())
[INFO] [stdout] 1505 | |             .unwrap()
[INFO] [stdout] 1506 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1503:32
[INFO] [stdout]      |
[INFO] [stdout] 1503 |           let excluded: Vec<_> = store
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1504 | |             .get_range(("fox", "bee").into())
[INFO] [stdout]      | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<Vec<(&str, i32)>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1513:32
[INFO] [stdout]      |
[INFO] [stdout] 1513 |           let excluded: Vec<_> = store
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1514 | |             .get_range(("fox", "doe").into())
[INFO] [stdout] 1515 | |             .unwrap()
[INFO] [stdout] 1516 | |             .collect::<Result<_, Infallible>>()
[INFO] [stdout]      | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<SimpleRangeIterator<'_, &str, i32>, Infallible>
[INFO] [stdout]     --> src/ranger.rs:1513:32
[INFO] [stdout]      |
[INFO] [stdout] 1513 |           let excluded: Vec<_> = store
[INFO] [stdout]      |  ________________________________^
[INFO] [stdout] 1514 | |             .get_range(("fox", "doe").into())
[INFO] [stdout]      | |_____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0ade3adfd57742ad670c609076de80e375ba047211468b23409f3eafa676546a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ade3adfd57742ad670c609076de80e375ba047211468b23409f3eafa676546a", kill_on_drop: false }`
[INFO] [stdout] 0ade3adfd57742ad670c609076de80e375ba047211468b23409f3eafa676546a
