[INFO] fetching crate qp-trie 0.8.2... [INFO] testing qp-trie-0.8.2 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate qp-trie 0.8.2 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate qp-trie 0.8.2 [INFO] finished tweaking crates.io crate qp-trie 0.8.2 [INFO] tweaked toml for crates.io crate qp-trie 0.8.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate qp-trie 0.8.2 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 34 packages to latest compatible versions [INFO] [stderr] Adding bincode v1.3.3 (available: v2.0.1) [INFO] [stderr] Adding quickcheck v0.9.2 (available: v1.0.3) [INFO] [stderr] Adding rand v0.7.3 (available: v0.9.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded qptrie v0.2.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d95cbe4011ae78b863dbb0c2a55f8187e076267e177627515d393494a0e2379c [INFO] running `Command { std: "docker" "start" "-a" "d95cbe4011ae78b863dbb0c2a55f8187e076267e177627515d393494a0e2379c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d95cbe4011ae78b863dbb0c2a55f8187e076267e177627515d393494a0e2379c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d95cbe4011ae78b863dbb0c2a55f8187e076267e177627515d393494a0e2379c", kill_on_drop: false }` [INFO] [stdout] d95cbe4011ae78b863dbb0c2a55f8187e076267e177627515d393494a0e2379c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 733e26982cad44332dceea5b19a4a0d2cb34e15e2cd6420c997a4f297a021b34 [INFO] running `Command { std: "docker" "start" "-a" "733e26982cad44332dceea5b19a4a0d2cb34e15e2cd6420c997a4f297a021b34", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling qp-trie v0.8.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | self.entries.get(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:98:51 [INFO] [stdout] | [INFO] [stdout] 98 | .get_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | match self.child(key.borrow()) { [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:115:27 [INFO] [stdout] | [INFO] [stdout] 115 | self.child_mut(key.borrow()) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:124:54 [INFO] [stdout] | [INFO] [stdout] 124 | .get_or_any(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:131:58 [INFO] [stdout] | [INFO] [stdout] 131 | .get_or_any_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | self.exemplar(key.borrow()).get_exemplar(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:145:30 [INFO] [stdout] | [INFO] [stdout] 145 | self.exemplar_mut(key.borrow()).get_exemplar_mut(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:664:17 [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:668:21 [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry { [INFO] [stdout] | ^^^^^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "733e26982cad44332dceea5b19a4a0d2cb34e15e2cd6420c997a4f297a021b34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "733e26982cad44332dceea5b19a4a0d2cb34e15e2cd6420c997a4f297a021b34", kill_on_drop: false }` [INFO] [stdout] 733e26982cad44332dceea5b19a4a0d2cb34e15e2cd6420c997a4f297a021b34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] ef3b155643b6b5f8550268e405842836a7f7a13b3ee8bb78439e4966acb45d12 [INFO] running `Command { std: "docker" "start" "-a" "ef3b155643b6b5f8550268e405842836a7f7a13b3ee8bb78439e4966acb45d12", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling qptrie v0.2.5 [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | self.entries.get(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:98:51 [INFO] [stdout] | [INFO] [stdout] 98 | .get_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | match self.child(key.borrow()) { [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:115:27 [INFO] [stdout] | [INFO] [stdout] 115 | self.child_mut(key.borrow()) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:124:54 [INFO] [stdout] | [INFO] [stdout] 124 | .get_or_any(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:131:58 [INFO] [stdout] | [INFO] [stdout] 131 | .get_or_any_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | self.exemplar(key.borrow()).get_exemplar(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:145:30 [INFO] [stdout] | [INFO] [stdout] 145 | self.exemplar_mut(key.borrow()).get_exemplar_mut(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:664:17 [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:668:21 [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry { [INFO] [stdout] | ^^^^^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling quickcheck v0.9.2 [INFO] [stderr] Compiling qp-trie v0.8.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | self.entries.get(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:98:51 [INFO] [stdout] | [INFO] [stdout] 98 | .get_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | match self.child(key.borrow()) { [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:115:27 [INFO] [stdout] | [INFO] [stdout] 115 | self.child_mut(key.borrow()) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:124:54 [INFO] [stdout] | [INFO] [stdout] 124 | .get_or_any(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:131:58 [INFO] [stdout] | [INFO] [stdout] 131 | .get_or_any_mut(nybble_index(self.choice, key.borrow())) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:138:26 [INFO] [stdout] | [INFO] [stdout] 138 | self.exemplar(key.borrow()).get_exemplar(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/node.rs:145:30 [INFO] [stdout] | [INFO] [stdout] 145 | self.exemplar_mut(key.borrow()).get_exemplar_mut(key) [INFO] [stdout] | ^^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter> { [INFO] [stdout] | ^^^^^ ------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn iter(&self) -> ::core::slice::Iter<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut<'_, Node> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:664:17 [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 664 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node.rs:668:21 [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 668 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 127 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/sparse.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 132 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:138:17 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 146 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 154 | pub fn keys(&self) -> Keys<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 162 | pub fn values(&self) -> Values<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut { [INFO] [stdout] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 170 | pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/trie.rs:343:18 [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry { [INFO] [stdout] | ^^^^^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 343 | pub fn entry(&mut self, key: K) -> Entry<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.09s [INFO] running `Command { std: "docker" "inspect" "ef3b155643b6b5f8550268e405842836a7f7a13b3ee8bb78439e4966acb45d12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef3b155643b6b5f8550268e405842836a7f7a13b3ee8bb78439e4966acb45d12", kill_on_drop: false }` [INFO] [stdout] ef3b155643b6b5f8550268e405842836a7f7a13b3ee8bb78439e4966acb45d12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c5f548ba9fe273dff9ec8c9f68104df79e336880880c140204b34cd1b435b5cd [INFO] running `Command { std: "docker" "start" "-a" "c5f548ba9fe273dff9ec8c9f68104df79e336880880c140204b34cd1b435b5cd", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:91:55 [INFO] [stderr] | [INFO] [stderr] 91 | self.entries.get(nybble_index(self.choice, key.borrow())) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:98:51 [INFO] [stderr] | [INFO] [stderr] 98 | .get_mut(nybble_index(self.choice, key.borrow())) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:105:29 [INFO] [stderr] | [INFO] [stderr] 105 | match self.child(key.borrow()) { [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:115:27 [INFO] [stderr] | [INFO] [stderr] 115 | self.child_mut(key.borrow()) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:124:54 [INFO] [stderr] | [INFO] [stderr] 124 | .get_or_any(nybble_index(self.choice, key.borrow())) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:131:58 [INFO] [stderr] | [INFO] [stderr] 131 | .get_or_any_mut(nybble_index(self.choice, key.borrow())) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:138:26 [INFO] [stderr] | [INFO] [stderr] 138 | self.exemplar(key.borrow()).get_exemplar(key) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stderr] --> src/node.rs:145:30 [INFO] [stderr] | [INFO] [stderr] 145 | self.exemplar_mut(key.borrow()).get_exemplar_mut(key) [INFO] [stderr] | ^^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `[u8]` does not implement `Borrow`, so calling `borrow` on `&[u8]` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node.rs:191:17 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn iter(&self) -> ::core::slice::Iter> { [INFO] [stderr] | ^^^^^ ------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 191 | pub fn iter(&self) -> ::core::slice::Iter<'_, Node> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node.rs:196:21 [INFO] [stderr] | [INFO] [stderr] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut> { [INFO] [stderr] | ^^^^^^^^^ ---------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 196 | pub fn iter_mut(&mut self) -> ::core::slice::IterMut<'_, Node> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node.rs:664:17 [INFO] [stderr] | [INFO] [stderr] 664 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 664 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node.rs:668:21 [INFO] [stderr] | [INFO] [stderr] 668 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 668 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/sparse.rs:127:17 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 127 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/sparse.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 132 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 138 | pub fn iter(&self) -> Iter<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 146 | pub fn iter_mut(&mut self) -> IterMut<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:154:17 [INFO] [stderr] | [INFO] [stderr] 154 | pub fn keys(&self) -> Keys { [INFO] [stderr] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 154 | pub fn keys(&self) -> Keys<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:162:19 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn values(&self) -> Values { [INFO] [stderr] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 162 | pub fn values(&self) -> Values<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:170:23 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn values_mut(&mut self) -> ValuesMut { [INFO] [stderr] | ^^^^^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 170 | pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/trie.rs:343:18 [INFO] [stderr] | [INFO] [stderr] 343 | pub fn entry(&mut self, key: K) -> Entry { [INFO] [stderr] | ^^^^^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 343 | pub fn entry(&mut self, key: K) -> Entry<'_, K, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `qp-trie` (lib) generated 20 warnings (run `cargo fix --lib -p qp-trie` to apply 20 suggestions) [INFO] [stderr] warning: `qp-trie` (lib test) generated 20 warnings (20 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/qp_trie-aac3b98127790bc6) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test util::test::nybble ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Running tests/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/lib-e03328611365b1c0) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test entry_insert_and_remove_2 ... ok [INFO] [stdout] test insert_and_get_3 ... ok [INFO] [stdout] test insert_and_get_2 ... ok [INFO] [stdout] test insert_and_get_4 ... ok [INFO] [stdout] test insert_and_get_1 ... ok [INFO] [stdout] test insert_and_get_5 ... ok [INFO] [stdout] test entry_insert_and_remove_1 ... ok [INFO] [stdout] test longest_common_prefix_complex ... ok [INFO] [stdout] test issue_31_entry_count_decrement ... ok [INFO] [stdout] test longest_common_prefix_simple ... ok [INFO] [stdout] test insert_and_remove_1 ... ok [INFO] [stdout] test issue_36_node_count_after_clear ... ok [INFO] [stdout] test issue_22_regression_remove_prefix ... ok [INFO] [stdout] test prefix_sets_1 ... ok [INFO] [stdout] test insert_and_get ... ok [INFO] [stdout] test insert_and_remove ... ok [INFO] [stdout] test longest_common_prefix ... ok [INFO] [stdout] test prefix_sets_ref ... ok [INFO] [stdout] test prefix_sets ... ok [INFO] [stdout] test iter_values ... ok [INFO] [stdout] test entry_insert_and_remove ... ok [INFO] [stdout] test prefix_sets_mut ... ok [INFO] [stdout] test iter_keys ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c5f548ba9fe273dff9ec8c9f68104df79e336880880c140204b34cd1b435b5cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5f548ba9fe273dff9ec8c9f68104df79e336880880c140204b34cd1b435b5cd", kill_on_drop: false }` [INFO] [stdout] c5f548ba9fe273dff9ec8c9f68104df79e336880880c140204b34cd1b435b5cd