[INFO] cloning repository https://github.com/khanson66/StationMaster
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/khanson66/StationMaster" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhanson66%2FStationMaster", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhanson66%2FStationMaster'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5892b29137863b9de30396682ad4e799ec2274cd
[INFO] checking khanson66/StationMaster against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhanson66%2FStationMaster" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/khanson66/StationMaster
[INFO] finished tweaking git repo https://github.com/khanson66/StationMaster
[INFO] tweaked toml for git repo https://github.com/khanson66/StationMaster written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khanson66/StationMaster on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/khanson66/StationMaster 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `StationMaster` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-2-tc1/source/target/.../StationMaster
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `station-master`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:9:8
[INFO] [stderr]    |
[INFO] [stderr]  9 - name = "StationMaster"
[INFO] [stderr]  9 + name = "station-master"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `station-master`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:10:19
[INFO] [stderr]    |
[INFO] [stderr] 10 ~ version = "0.1.0"
[INFO] [stderr] 11 + [[bin]]
[INFO] [stderr] 12 + name = "station-master"
[INFO] [stderr] 13 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `StationMaster` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded which v4.2.4
[INFO] [stderr]   Downloaded dirs v2.0.2
[INFO] [stderr]   Downloaded siphasher v0.3.9
[INFO] [stderr]   Downloaded terminfo v0.7.3
[INFO] [stderr]   Downloaded syn v1.0.86
[INFO] [stderr]   Downloaded netstat2 v0.9.1
[INFO] [stderr]   Downloaded clearscreen v1.0.9
[INFO] [stderr]   Downloaded libc v0.2.117
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545
[INFO] running `Command { std: "docker" "start" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `StationMaster` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../StationMaster
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `station-master`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:9:8
[INFO] [stderr]    |
[INFO] [stderr]  9 - name = "StationMaster"
[INFO] [stderr]  9 + name = "station-master"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `station-master`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:10:19
[INFO] [stderr]    |
[INFO] [stderr] 10 ~ version = "0.1.0"
[INFO] [stderr] 11 + [[bin]]
[INFO] [stderr] 12 + name = "station-master"
[INFO] [stderr] 13 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `StationMaster` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.117
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]     Checking which v4.2.4
[INFO] [stderr]     Checking console v0.15.0
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling terminfo v0.7.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking netstat2 v0.9.1
[INFO] [stderr]     Checking clearscreen v1.0.9
[INFO] [stderr]     Checking StationMaster v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]  --> src/sessions/raw_socket.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, io};
[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: `TcpListener`
[INFO] [stdout]  --> src/sessions/raw_socket.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::{Shutdown, TcpListener, TcpStream};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]   --> src/sessions/raw_socket.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sessions::SESSION`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sessions::SESSION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/sessions/raw_socket.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     Err(e) => { /* connection failed */ }
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/sessions/raw_socket.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |             Some(mut raw_stream) => {
[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: unused import: `io`
[INFO] [stdout]  --> src/sessions/raw_socket.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{fmt, io};
[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: `TcpListener`
[INFO] [stdout]  --> src/sessions/raw_socket.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::{Shutdown, TcpListener, TcpStream};
[INFO] [stdout]   |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]   --> src/sessions/raw_socket.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sessions::SESSION`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::sessions::SESSION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_handler`
[INFO] [stdout]   --> src/cmd.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/cmd.rs:89:60
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/session_handler.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                     SessionTypes::RawSocket(s) => println!("{:?}", s.to_string()),
[INFO] [stdout]    |                     -------------------------- matches all the relevant values
[INFO] [stdout] 42 |                     _ => println!("WTF happened")
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/session_handler.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub(crate) fn drop(&self, name: String){
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/main.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     Ok(name) => {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/main.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     Err(error) => {println!("please try again")},
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close` and `get_info` are never used
[INFO] [stdout]  --> src/sessions/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SESSION {
[INFO] [stdout]   |           ------- methods in this trait
[INFO] [stdout] 4 |     fn start(&mut self, rotate: Rotation);
[INFO] [stdout] 5 |     fn close(&self);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn get_info(&self);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FIFO` and `LIFO` are never constructed
[INFO] [stdout]   --> src/sessions/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Rotation{
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 14 |     FIFO, //Drop oldest and add newest
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     LIFO, //drop last item in vec and add newest, no real point of using but might be a use case
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]   --> src/sessions/raw_socket.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RawSocket {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     description:String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_addr`, `recv_time`, and `output_handle` are never read
[INFO] [stdout]   --> src/sessions/raw_socket.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct RawStream{
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 57 |     stream: TcpStream,
[INFO] [stdout] 58 |     target_addr: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 59 |     recv_time: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 60 |     output_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select` is never used
[INFO] [stdout]   --> src/cmd.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]  --> src/session_handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct SessionHandler {
[INFO] [stdout]   |                   -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     names: Vec<String>, //TODO: Find a way to remove this
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_session_types` is never used
[INFO] [stdout]   --> src/session_handler.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SessionHandler {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn list_session_types() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 | ...                   rm_sess.stream.shutdown(Shutdown::Both);
[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] 103 |                                     let _ = rm_sess.stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...                   rm_sess.stream.shutdown(Shutdown::Both);
[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] 108 |                                     let _ = rm_sess.stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:111:37
[INFO] [stdout]     |
[INFO] [stdout] 111 | ...                   incoming_stream.shutdown(Shutdown::Both);
[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] 111 |                                     let _ = incoming_stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/sessions/raw_socket.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     Err(e) => { /* connection failed */ }
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/sessions/raw_socket.rs:200:18
[INFO] [stdout]     |
[INFO] [stdout] 200 |             Some(mut raw_stream) => {
[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: unused variable: `session_handler`
[INFO] [stdout]   --> src/cmd.rs:89:22
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/cmd.rs:89:60
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/session_handler.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                     SessionTypes::RawSocket(s) => println!("{:?}", s.to_string()),
[INFO] [stdout]    |                     -------------------------- matches all the relevant values
[INFO] [stdout] 42 |                     _ => println!("WTF happened")
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/session_handler.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub(crate) fn drop(&self, name: String){
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/main.rs:68:24
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     Ok(name) => {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/main.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     Err(error) => {println!("please try again")},
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `close` and `get_info` are never used
[INFO] [stdout]  --> src/sessions/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SESSION {
[INFO] [stdout]   |           ------- methods in this trait
[INFO] [stdout] 4 |     fn start(&mut self, rotate: Rotation);
[INFO] [stdout] 5 |     fn close(&self);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn get_info(&self);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FIFO` and `LIFO` are never constructed
[INFO] [stdout]   --> src/sessions/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Rotation{
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 14 |     FIFO, //Drop oldest and add newest
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     LIFO, //drop last item in vec and add newest, no real point of using but might be a use case
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `description` is never read
[INFO] [stdout]   --> src/sessions/raw_socket.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RawSocket {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     description:String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawSocket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_addr`, `recv_time`, and `output_handle` are never read
[INFO] [stdout]   --> src/sessions/raw_socket.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct RawStream{
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 57 |     stream: TcpStream,
[INFO] [stdout] 58 |     target_addr: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 59 |     recv_time: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 60 |     output_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select` is never used
[INFO] [stdout]   --> src/cmd.rs:89:15
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub(crate) fn select(session_handler: &mut SessionHandler, args: Vec<String>) {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]  --> src/session_handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) struct SessionHandler {
[INFO] [stdout]   |                   -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     names: Vec<String>, //TODO: Find a way to remove this
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_session_types` is never used
[INFO] [stdout]   --> src/session_handler.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SessionHandler {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn list_session_types() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 | ...                   rm_sess.stream.shutdown(Shutdown::Both);
[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] 103 |                                     let _ = rm_sess.stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...                   rm_sess.stream.shutdown(Shutdown::Both);
[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] 108 |                                     let _ = rm_sess.stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/sessions/raw_socket.rs:111:37
[INFO] [stdout]     |
[INFO] [stdout] 111 | ...                   incoming_stream.shutdown(Shutdown::Both);
[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] 111 |                                     let _ = incoming_stream.shutdown(Shutdown::Both);
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `console`
[INFO] [stderr]  --> Cargo.toml:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | console = "0.15.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console`
[INFO] [stderr] warning: `StationMaster` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.86s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2, terminfo v0.7.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545", kill_on_drop: false }`
[INFO] [stdout] 9884d8c6960b10cef1e42537a21f36ccecaebc7fd058e8f52bd7cbec84f92545
