[INFO] fetching crate i2p 0.0.1...
[INFO] testing i2p-0.0.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate i2p 0.0.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate i2p 0.0.1
[INFO] finished tweaking crates.io crate i2p 0.0.1
[INFO] tweaked toml for crates.io crate i2p 0.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate i2p 0.0.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 13 packages to latest compatible versions
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.28)
[INFO] [stderr]       Adding nom v2.2.1 (available: v8.0.0)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nom v2.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85f69b97499714e648ebd409a6033a4164c778e176a8142eeeb26b125b1d838d
[INFO] running `Command { std: "docker" "start" "-a" "85f69b97499714e648ebd409a6033a4164c778e176a8142eeeb26b125b1d838d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85f69b97499714e648ebd409a6033a4164c778e176a8142eeeb26b125b1d838d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85f69b97499714e648ebd409a6033a4164c778e176a8142eeeb26b125b1d838d", kill_on_drop: false }`
[INFO] [stdout] 85f69b97499714e648ebd409a6033a4164c778e176a8142eeeb26b125b1d838d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79719142e63e329d59dc1a57e5843705f92a3bfb3b6cac1a0fcbc2909e15ae64
[INFO] running `Command { std: "docker" "start" "-a" "79719142e63e329d59dc1a57e5843705f92a3bfb3b6cac1a0fcbc2909e15ae64", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling i2p v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `I2pAddr`
[INFO] [stdout]  --> src/net/datagram.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:77:29
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn send_to<A: ToI2pSocketAddrs>(&self, buf: &[u8], addr: A)
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Some(addr) => unimplemented!(),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:53
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn send(&self, buf: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn recv(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn peek(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:41
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/net/streaming.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/streaming.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/sam.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let new_vec = vec.clone();
[INFO] [stdout]    |                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` 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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let res = map.get("RESULT").unwrap_or(&"OK").clone();
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let msg = map.get("MESSAGE").unwrap_or(&"").clone();
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.52s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "79719142e63e329d59dc1a57e5843705f92a3bfb3b6cac1a0fcbc2909e15ae64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79719142e63e329d59dc1a57e5843705f92a3bfb3b6cac1a0fcbc2909e15ae64", kill_on_drop: false }`
[INFO] [stdout] 79719142e63e329d59dc1a57e5843705f92a3bfb3b6cac1a0fcbc2909e15ae64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3de038aa7ae6f40cab7c06948822e57f018acc85c2f277eb13f07803a8ff041a
[INFO] running `Command { std: "docker" "start" "-a" "3de038aa7ae6f40cab7c06948822e57f018acc85c2f277eb13f07803a8ff041a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unused import: `I2pAddr`
[INFO] [stdout]  --> src/net/datagram.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling i2p v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:77:29
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn send_to<A: ToI2pSocketAddrs>(&self, buf: &[u8], addr: A)
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Some(addr) => unimplemented!(),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:53
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn send(&self, buf: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn recv(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn peek(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:41
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/net/streaming.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/streaming.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/sam.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let new_vec = vec.clone();
[INFO] [stdout]    |                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` 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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let res = map.get("RESULT").unwrap_or(&"OK").clone();
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let msg = map.get("MESSAGE").unwrap_or(&"").clone();
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `I2pAddr`
[INFO] [stdout]  --> src/net/datagram.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs};
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/net/datagram.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:77:29
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/net/datagram.rs:98:29
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn send_to<A: ToI2pSocketAddrs>(&self, buf: &[u8], addr: A)
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Some(addr) => unimplemented!(),
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/datagram.rs:177:53
[INFO] [stdout]     |
[INFO] [stdout] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:196:24
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn send(&self, buf: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn recv(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]    --> src/net/datagram.rs:247:24
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub fn peek(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sam_addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/net/streaming.rs:246:41
[INFO] [stdout]     |
[INFO] [stdout] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/net/streaming.rs:342:19
[INFO] [stdout]     |
[INFO] [stdout] 342 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/net/streaming.rs:329:21
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 329 |     pub fn incoming(&self) -> Incoming<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/sam.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let new_vec = vec.clone();
[INFO] [stdout]    |                      ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` 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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:54:49
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let res = map.get("RESULT").unwrap_or(&"OK").clone();
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stdout]   --> src/sam.rs:55:48
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let msg = map.get("MESSAGE").unwrap_or(&"").clone();
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.13s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "3de038aa7ae6f40cab7c06948822e57f018acc85c2f277eb13f07803a8ff041a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3de038aa7ae6f40cab7c06948822e57f018acc85c2f277eb13f07803a8ff041a", kill_on_drop: false }`
[INFO] [stdout] 3de038aa7ae6f40cab7c06948822e57f018acc85c2f277eb13f07803a8ff041a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0aec954f0e1ad16cea7da28d888b1f5391bab464ce65587931d7a4e9efd33f81
[INFO] running `Command { std: "docker" "start" "-a" "0aec954f0e1ad16cea7da28d888b1f5391bab464ce65587931d7a4e9efd33f81", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `I2pAddr`
[INFO] [stderr]  --> src/net/datagram.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs};
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sam_addr`
[INFO] [stderr]   --> src/net/datagram.rs:60:18
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stderr]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/net/datagram.rs:60:41
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pDatagramSocket> {
[INFO] [stderr]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/net/datagram.rs:77:29
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/net/datagram.rs:98:29
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]    --> src/net/datagram.rs:118:48
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub fn send_to<A: ToI2pSocketAddrs>(&self, buf: &[u8], addr: A)
[INFO] [stderr]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]    --> src/net/datagram.rs:121:18
[INFO] [stderr]     |
[INFO] [stderr] 121 |             Some(addr) => unimplemented!(),
[INFO] [stderr]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sam_addr`
[INFO] [stderr]    --> src/net/datagram.rs:177:43
[INFO] [stderr]     |
[INFO] [stderr] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stderr]     |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]    --> src/net/datagram.rs:177:53
[INFO] [stderr]     |
[INFO] [stderr] 177 |         super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!())
[INFO] [stderr]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]    --> src/net/datagram.rs:196:24
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn send(&self, buf: &[u8]) -> io::Result<usize> {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]    --> src/net/datagram.rs:219:24
[INFO] [stderr]     |
[INFO] [stderr] 219 |     pub fn recv(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]    --> src/net/datagram.rs:247:24
[INFO] [stderr]     |
[INFO] [stderr] 247 |     pub fn peek(&self, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sam_addr`
[INFO] [stderr]    --> src/net/streaming.rs:246:18
[INFO] [stderr]     |
[INFO] [stderr] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stderr]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]    --> src/net/streaming.rs:246:41
[INFO] [stderr]     |
[INFO] [stderr] 246 |     fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result<I2pListener> {
[INFO] [stderr]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]    --> src/net/streaming.rs:342:19
[INFO] [stderr]     |
[INFO] [stderr] 342 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/net/streaming.rs:329:21
[INFO] [stderr]     |
[INFO] [stderr] 329 |     pub fn incoming(&self) -> Incoming {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 329 |     pub fn incoming(&self) -> Incoming<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/sam.rs:52:22
[INFO] [stderr]    |
[INFO] [stderr] 52 |     let new_vec = vec.clone();
[INFO] [stderr]    |                      ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` 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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> src/sam.rs:54:49
[INFO] [stderr]    |
[INFO] [stderr] 54 |     let res = map.get("RESULT").unwrap_or(&"OK").clone();
[INFO] [stderr]    |                                                 ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type
[INFO] [stderr]   --> src/sam.rs:55:48
[INFO] [stderr]    |
[INFO] [stderr] 55 |     let msg = map.get("MESSAGE").unwrap_or(&"").clone();
[INFO] [stderr]    |                                                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `i2p` (lib) generated 19 warnings (run `cargo fix --lib -p i2p` to apply 17 suggestions)
[INFO] [stderr] warning: `i2p` (lib test) generated 19 warnings (19 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/i2p-b42d979fae65d449)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test net::addr::tests::set_dest ... ok
[INFO] [stdout] test net::addr::tests::to_socket_addr_i2paddr_u16 ... ok
[INFO] [stdout] test net::addr::tests::set_port ... ok
[INFO] [stdout] test net::addr::tests::to_socket_addr_string ... ok
[INFO] [stdout] test parsers::tests::dest_reply ... ok
[INFO] [stdout] test net::addr::tests::to_socket_addr_str ... ok
[INFO] [stdout] test net::addr::tests::to_socket_addr_str_u16 ... ok
[INFO] [stdout] test parsers::tests::session_status ... ok
[INFO] [stdout] test parsers::tests::hello ... ok
[INFO] [stdout] test parsers::tests::naming_reply ... ok
[INFO] [stderr]      Running tests/naming_lookup.rs (/opt/rustwide/target/debug/deps/naming_lookup-afb423e6d2432680)
[INFO] [stdout] test parsers::tests::stream_status ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test naming_lookup ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests i2p
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::bind (line 47) - compile ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::I2pSocketAddr::port (line 68) ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::connect (line 166) - compile ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::ToI2pSocketAddrs (line 157) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket (line 16) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::local_addr (line 131) - compile ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::I2pSocketAddr::set_dest (line 53) ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::I2pSocketAddr::new (line 21) ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::recv_from (line 69) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::peek_from (line 90) - compile ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::I2pSocketAddr::dest (line 39) ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::peek (line 236) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::recv (line 208) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::send (line 189) - compile ... ok
[INFO] [stdout] test src/net/addr.rs - net::addr::I2pSocketAddr::set_port (line 82) ... ok
[INFO] [stdout] test src/net/i2p.rs - net::i2p::I2pAddr (line 11) ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener::accept (line 291) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener (line 42) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::send_to (line 112) - compile ... ok
[INFO] [stdout] test src/net/datagram.rs - net::datagram::I2pDatagramSocket::try_clone (line 150) - compile ... ok
[INFO] [stdout] test src/net/i2p.rs - net::i2p::I2pAddr (line 19) ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener::bind (line 233) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener::local_addr (line 254) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream::connect (line 88) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream::local_addr (line 134) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener::try_clone (line 273) - compile ... ok
[INFO] [stdout] test src/net/i2p.rs - net::i2p::I2pAddr::new (line 33) ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream (line 20) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream::peer_addr (line 118) - compile ... ok
[INFO] [stdout] test src/net/i2p.rs - net::i2p::I2pAddr::string (line 46) ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pListener::incoming (line 315) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream::shutdown (line 156) - compile ... ok
[INFO] [stdout] test src/net/streaming.rs - net::streaming::I2pStream::try_clone (line 177) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.12s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0aec954f0e1ad16cea7da28d888b1f5391bab464ce65587931d7a4e9efd33f81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0aec954f0e1ad16cea7da28d888b1f5391bab464ce65587931d7a4e9efd33f81", kill_on_drop: false }`
[INFO] [stdout] 0aec954f0e1ad16cea7da28d888b1f5391bab464ce65587931d7a4e9efd33f81
