[INFO] cloning repository https://github.com/NikhilSDate/TCProxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NikhilSDate/TCProxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNikhilSDate%2FTCProxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNikhilSDate%2FTCProxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6e3d28e5ba8212516806985640a0d9235101ae2b
[INFO] testing NikhilSDate/TCProxy against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNikhilSDate%2FTCProxy" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NikhilSDate/TCProxy
[INFO] finished tweaking git repo https://github.com/NikhilSDate/TCProxy
[INFO] tweaked toml for git repo https://github.com/NikhilSDate/TCProxy written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NikhilSDate/TCProxy on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NikhilSDate/TCProxy already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e6761f14721e93b7263f3d635f4d2ada1ecf13e1995149e46429d7eda9b5ea9c
[INFO] running `Command { std: "docker" "start" "-a" "e6761f14721e93b7263f3d635f4d2ada1ecf13e1995149e46429d7eda9b5ea9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6761f14721e93b7263f3d635f4d2ada1ecf13e1995149e46429d7eda9b5ea9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6761f14721e93b7263f3d635f4d2ada1ecf13e1995149e46429d7eda9b5ea9c", kill_on_drop: false }`
[INFO] [stdout] e6761f14721e93b7263f3d635f4d2ada1ecf13e1995149e46429d7eda9b5ea9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] ad1ea68c6d8ebf75c66aea26cae897431cec4baed8f039cb868321fec6e87a6d
[INFO] running `Command { std: "docker" "start" "-a" "ad1ea68c6d8ebf75c66aea26cae897431cec4baed8f039cb868321fec6e87a6d", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bytes v1.7.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]    Compiling pest v2.7.13
[INFO] [stderr]    Compiling cc v1.1.31
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling pin-project v1.1.6
[INFO] [stderr]    Compiling pest_meta v2.7.13
[INFO] [stderr]    Compiling clap_builder v4.5.20
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling vte v0.11.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling pest_generator v2.7.13
[INFO] [stderr]    Compiling enum-ordinalize v3.1.15
[INFO] [stderr]    Compiling pest_derive v2.7.13
[INFO] [stderr]    Compiling educe v0.4.23
[INFO] [stderr]    Compiling tarpc-plugins v0.13.1
[INFO] [stderr]    Compiling clap v4.5.20
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling rulelib v0.1.0 (/opt/rustwide/workdir/rulelib)
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling opentelemetry_api v0.18.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling opentelemetry_sdk v0.18.0
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling opentelemetry v0.18.0
[INFO] [stderr]    Compiling tracing-opentelemetry v0.18.0
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling tokio-serde v0.8.0
[INFO] [stderr]    Compiling tarpc v0.34.0
[INFO] [stderr]    Compiling shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling fd-lock v4.0.2
[INFO] [stderr]    Compiling reedline v0.36.0
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: unused import: `Subcommand`
[INFO] [stdout]  --> client/src/command/create.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> client/src/command/request.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> client/src/command/set_program.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling redirector v0.1.0 (/opt/rustwide/workdir/redirector)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> redirector/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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 imports: `DROP`, `ITE`, and `SEQ`
[INFO] [stdout]   --> redirector/src/main.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rulelib::vm::Instruction::{DROP, ITE, REDIRECT, SEQ};
[INFO] [stdout]    |                                ^^^^  ^^^            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Object` and `PACKET_SOURCE_IP`
[INFO] [stdout]   --> redirector/src/main.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rulelib::vm::{Object, PACKET_SOURCE_IP, Program};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FutureExt`, `TryFutureExt`, and `future`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future, FutureExt, StreamExt, TryFutureExt};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Poll` and `ready`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::task::{ready, Poll};
[INFO] [stdout]    |                 ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncRead`, `AsyncWrite`, and `copy_bidirectional`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::io::{copy_bidirectional, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::macros::support::poll_fn`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::macros::support::poll_fn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::TcpListenerStream`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_stream::wrappers::TcpListenerStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamReader`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_util::io::{ReaderStream, StreamReader};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rulelib::vm::Program`
[INFO] [stdout]  --> redirector/src/rpc/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rulelib::vm::Program;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tarpc::Request`
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tarpc::Request;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |     while let Ok((mut inbound, _)) = listener.accept().await {
[INFO] [stdout]    |                   ----^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut outbound =
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]   --> client/src/io.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn readline(prompt: Option<String>) -> Result<String> {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut stmt = conn.prepare("SELECT id, name, content FROM rulefiles");
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:110:59
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:147:25
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `addr` is never read
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Server {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 28 |     addr: SocketAddr,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Server` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         itx.write_all(&bytes).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         let _ = itx.write_all(&bytes).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.39s
[INFO] running `Command { std: "docker" "inspect" "ad1ea68c6d8ebf75c66aea26cae897431cec4baed8f039cb868321fec6e87a6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad1ea68c6d8ebf75c66aea26cae897431cec4baed8f039cb868321fec6e87a6d", kill_on_drop: false }`
[INFO] [stdout] ad1ea68c6d8ebf75c66aea26cae897431cec4baed8f039cb868321fec6e87a6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 52a396c6a9ed201f25c7df2ab7ce7e5448e70cae298c7f85368b902f3d290e8d
[INFO] running `Command { std: "docker" "start" "-a" "52a396c6a9ed201f25c7df2ab7ce7e5448e70cae298c7f85368b902f3d290e8d", kill_on_drop: false }`
[INFO] [stderr]    Compiling rulelib v0.1.0 (/opt/rustwide/workdir/rulelib)
[INFO] [stderr]    Compiling shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stderr]    Compiling redirector v0.1.0 (/opt/rustwide/workdir/redirector)
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> redirector/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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 imports: `DROP`, `ITE`, and `SEQ`
[INFO] [stdout]   --> redirector/src/main.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rulelib::vm::Instruction::{DROP, ITE, REDIRECT, SEQ};
[INFO] [stdout]    |                                ^^^^  ^^^            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Object` and `PACKET_SOURCE_IP`
[INFO] [stdout]   --> redirector/src/main.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rulelib::vm::{Object, PACKET_SOURCE_IP, Program};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FutureExt`, `TryFutureExt`, and `future`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future, FutureExt, StreamExt, TryFutureExt};
[INFO] [stdout]   |               ^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> redirector/src/redirector/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Output`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::process::Output;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Poll` and `ready`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::task::{ready, Poll};
[INFO] [stdout]    |                 ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncRead`, `AsyncWrite`, and `copy_bidirectional`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::io::{copy_bidirectional, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::macros::support::poll_fn`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::macros::support::poll_fn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::TcpListenerStream`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio_stream::wrappers::TcpListenerStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamReader`
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio_util::io::{ReaderStream, StreamReader};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tarpc::Request`
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tarpc::Request;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Subcommand`
[INFO] [stdout]  --> client/src/command/create.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::{Parser, Subcommand};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> client/src/command/request.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> client/src/command/set_program.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |     while let Ok((mut inbound, _)) = listener.accept().await {
[INFO] [stdout]    |                   ----^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/redirector/mod.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut outbound =
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let mut stmt = conn.prepare("SELECT id, name, content FROM rulefiles");
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:110:59
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:147:25
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]   --> client/src/io.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn readline(prompt: Option<String>) -> Result<String> {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `addr` is never read
[INFO] [stdout]   --> redirector/src/rpc/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct Server {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 28 |     addr: SocketAddr,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Server` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> redirector/src/redirector/mod.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         itx.write_all(&bytes).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         let _ = itx.write_all(&bytes).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> rulelib/src/vm/mod.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         vm.run_program(&program, &packet);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = vm.run_program(&program, &packet);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> rulelib/src/vm/mod.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         vm.run_program(&program, &packet);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let _ = vm.run_program(&program, &packet);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.11s
[INFO] running `Command { std: "docker" "inspect" "52a396c6a9ed201f25c7df2ab7ce7e5448e70cae298c7f85368b902f3d290e8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52a396c6a9ed201f25c7df2ab7ce7e5448e70cae298c7f85368b902f3d290e8d", kill_on_drop: false }`
[INFO] [stdout] 52a396c6a9ed201f25c7df2ab7ce7e5448e70cae298c7f85368b902f3d290e8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 82d17821e0b4cf1f46164a0f62b2f682a226f4c7de694a2aeee41769600dda23
[INFO] running `Command { std: "docker" "start" "-a" "82d17821e0b4cf1f46164a0f62b2f682a226f4c7de694a2aeee41769600dda23", kill_on_drop: false }`
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> rulelib/src/vm/mod.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |         vm.run_program(&program, &packet);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let _ = vm.run_program(&program, &packet);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> rulelib/src/vm/mod.rs:221:9
[INFO] [stderr]     |
[INFO] [stderr] 221 |         vm.run_program(&program, &packet);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let _ = vm.run_program(&program, &packet);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rulelib` (lib test) generated 2 warnings
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> redirector/src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DROP`, `ITE`, and `SEQ`
[INFO] [stderr]   --> redirector/src/main.rs:10:32
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rulelib::vm::Instruction::{DROP, ITE, REDIRECT, SEQ};
[INFO] [stderr]    |                                ^^^^  ^^^            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Object` and `PACKET_SOURCE_IP`
[INFO] [stderr]   --> redirector/src/main.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rulelib::vm::{Object, PACKET_SOURCE_IP, Program};
[INFO] [stderr]    |                   ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FutureExt`, `TryFutureExt`, and `future`
[INFO] [stderr]  --> redirector/src/redirector/mod.rs:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | use futures::{future, FutureExt, StreamExt, TryFutureExt};
[INFO] [stderr]   |               ^^^^^^  ^^^^^^^^^             ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]  --> redirector/src/redirector/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> redirector/src/redirector/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::process::Output`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::process::Output;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Poll` and `ready`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::task::{ready, Poll};
[INFO] [stderr]    |                 ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AsyncReadExt`, `AsyncRead`, `AsyncWrite`, and `copy_bidirectional`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tokio::io::{copy_bidirectional, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::macros::support::poll_fn`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::macros::support::poll_fn;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TcpStream`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:16:31
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio_stream::wrappers::TcpListenerStream`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use tokio_stream::wrappers::TcpListenerStream;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StreamReader`
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:19:36
[INFO] [stderr]    |
[INFO] [stderr] 19 | use tokio_util::io::{ReaderStream, StreamReader};
[INFO] [stderr]    |                                    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tarpc::Request`
[INFO] [stderr]   --> redirector/src/rpc/mod.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use tarpc::Request;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:69:19
[INFO] [stderr]    |
[INFO] [stderr] 69 |     while let Ok((mut inbound, _)) = listener.accept().await {
[INFO] [stderr]    |                   ----^^^^^^^
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> redirector/src/redirector/mod.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |         let mut outbound =
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> redirector/src/rpc/mod.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let mut stmt = conn.prepare("SELECT id, name, content FROM rulefiles");
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> redirector/src/redirector/mod.rs:160:25
[INFO] [stderr]     |
[INFO] [stderr] 160 |                     Err(e) => {
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `destination`
[INFO] [stderr]    --> redirector/src/redirector/mod.rs:110:46
[INFO] [stderr]     |
[INFO] [stderr] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stderr]     |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]    --> redirector/src/redirector/mod.rs:110:59
[INFO] [stderr]     |
[INFO] [stderr] 110 | ...                   Action::REDIRECT(destination, port) => {
[INFO] [stderr]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> redirector/src/redirector/mod.rs:147:25
[INFO] [stderr]     |
[INFO] [stderr] 147 |                     Err(e) => {
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: field `addr` is never read
[INFO] [stderr]   --> redirector/src/rpc/mod.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | struct Server {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 28 |     addr: SocketAddr,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Server` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> redirector/src/redirector/mod.rs:158:25
[INFO] [stderr]     |
[INFO] [stderr] 158 |                         itx.write_all(&bytes).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 158 |                         let _ = itx.write_all(&bytes).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Subcommand`
[INFO] [stderr]  --> client/src/command/create.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use clap::{Parser, Subcommand};
[INFO] [stderr]   |                    ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> client/src/command/request.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> client/src/command/set_program.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prompt`
[INFO] [stderr]   --> client/src/io.rs:12:17
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn readline(prompt: Option<String>) -> Result<String> {
[INFO] [stderr]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `redirector` (bin "redirector" test) generated 23 warnings (run `cargo fix --bin "redirector" -p redirector --tests` to apply 21 suggestions)
[INFO] [stderr] warning: `client` (bin "client" test) generated 4 warnings (run `cargo fix --bin "client" -p client --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/client/674c02f8bb4a07f6/deps/client-674c02f8bb4a07f6)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/redirector/a3eaaebf15bf8c1f/deps/redirector-a3eaaebf15bf8c1f)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test rpc::tests::test_all_ok ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rulelib/668427078d2e539a/deps/rulelib-668427078d2e539a)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test ast::tests::ast_node::try_from__works_correctly_on_atoms ... ok
[INFO] [stdout] test ast::codegen::tests::test ... ok
[INFO] [stdout] test ast::tests::ast_node::try_from__works_on_sample_program ... ok
[INFO] [stdout] test ast::tests::proxy_mode::try_from__fails_on_invalid_strings ... ok
[INFO] [stdout] test ast::tests::rule_outcome::drop::try_from__fails_on_bad_capitalization ... ok
[INFO] [stdout] test ast::tests::proxy_mode::try_from__works_on_valid_strings ... ok
[INFO] [stdout] test ast::tests::rule_outcome::drop::try_from__works_with_expected_parse_tree ... ok
[INFO] [stdout] test ast::tests::rule_outcome::r#continue::try_from__works_with_expected_parse_tree ... ok
[INFO] [stdout] test ast::tests::rule_outcome::r#continue::try_from__fails_on_bad_capitalization ... ok
[INFO] [stdout] test ast::tests::rule_outcome::redirect::try_from__fails_on_well_formed_parse_tree_with_invalid_arity ... ok
[INFO] [stdout] test ast::tests::rule_outcome::redirect::try_from__fails_on_well_formed_parse_tree_with_invalid_port ... ok
[INFO] [stdout] test ast::tests::rule_outcome::reject::try_from__works_with_expected_parse_tree ... ok
[INFO] [stdout] test ast::tests::rule_outcome::reject::try_from__fails_on_bad_capitalization ... ok
[INFO] [stdout] test ast::tests::rule_outcome::try_from__fails_on_unexpected_parse_trees ... ok
[INFO] [stdout] test ast::tests::rule_outcome::redirect::try_from__works_with_expected_parse_tree ... ok
[INFO] [stdout] test ast::tests::special_forms::def_rule::try_from__fails_on_parse_tree_with_wrong_arity ... ok
[INFO] [stdout] test ast::tests::special_forms::def_rule::try_from__fails_on_well_formed_parse_tree_with_unexpected_argument ... ok
[INFO] [stdout] test ast::tests::special_forms::def_rule::try_from__works_with_expected_parse_trees ... ok
[INFO] [stdout] test ast::tests::rule_outcome::rewrite::try_from__works_with_expected_parse_tree ... ok
[INFO] [stdout] test ast::tests::special_forms::def_var::try_from__works_with_expected_parse_trees ... ok
[INFO] [stdout] test ast::tests::special_forms::r#if::try_from__works_with_expected_parse_trees ... ok
[INFO] [stdout] test ast::tests::special_forms::def_var::try_from__fails_on_parse_tree_with_wrong_arity ... ok
[INFO] [stdout] test ast::tests::special_forms::set_mode::try_from__fails_on_parse_tree_with_wrong_arity ... ok
[INFO] [stdout] test ast::tests::special_forms::set_mode::try_from__works_with_expected_parse_trees ... ok
[INFO] [stdout] test ast::tests::special_forms::r#if::try_from__fails_on_well_formed_parse_tree_with_unexpected_argument ... ok
[INFO] [stdout] test ast::tests::special_forms::try_from__fails_on_unexpected_parse_trees ... ok
[INFO] [stdout] test ast::tests::rule_outcome::rewrite::try_from__fails_on_well_formed_parse_tree_with_invalid_arity ... ok
[INFO] [stdout] test ast::tests::special_forms::r#if::try_from__fails_on_parse_tree_with_wrong_arity ... ok
[INFO] [stdout] test parser::tests::test_boolean ... ok
[INFO] [stdout] test parser::tests::test_example_program ... ok
[INFO] [stdout] test parser::tests::test_negative ... ok
[INFO] [stdout] test vm::tests::test_ip_equals ... ok
[INFO] [stdout] test parser::tests::test_bad_program ... ok
[INFO] [stdout] test vm::tests::test_logical ... ok
[INFO] [stdout] test vm::tests::test_vm_data ... ok
[INFO] [stdout] test vm::tests::test_redirect_rewrite ... ok
[INFO] [stdout] test vm::tests::test_vm_seq ... ok
[INFO] [stdout] test ast::tests::special_forms::set_mode::try_from__fails_on_well_formed_parse_tree_with_unexpected_argument ... ok
[INFO] [stdout] test vm::tests::test_reset ... ok
[INFO] [stdout] test vm::tests::test_simple_program ... ok
[INFO] [stdout] test ast::codegen::tests::test1 ... ok
[INFO] [stdout] test ast::tests::special_forms::def_var::try_from__fails_on_well_formed_parse_tree_with_unexpected_argument ... ok
[INFO] [stdout] test ast::tests::ast_node::try_from__works_on_lists ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/shared/ea73389e84bd5429/deps/shared-ea73389e84bd5429)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rulelib
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests shared
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "82d17821e0b4cf1f46164a0f62b2f682a226f4c7de694a2aeee41769600dda23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82d17821e0b4cf1f46164a0f62b2f682a226f4c7de694a2aeee41769600dda23", kill_on_drop: false }`
[INFO] [stdout] 82d17821e0b4cf1f46164a0f62b2f682a226f4c7de694a2aeee41769600dda23
