[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 615014f15745532730b9ce7a1d9309f8b4756f93 for pr-160491
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkhanson66%2FStationMaster" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/khanson66/StationMaster on toolchain 615014f15745532730b9ce7a1d9309f8b4756f93
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "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" "+615014f15745532730b9ce7a1d9309f8b4756f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded which v4.2.4
[INFO] [stderr]   Downloaded siphasher v0.3.9
[INFO] [stderr]   Downloaded netstat2 v0.9.1
[INFO] [stderr]   Downloaded terminfo v0.7.3
[INFO] [stderr]   Downloaded clearscreen v1.0.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7
[INFO] running `Command { std: "docker" "start" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7", 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" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7", 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" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.117
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking phf v0.8.0
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling rand_core v0.5.1
[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]     Checking dirs-sys v0.3.6
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking which v4.2.4
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking regex v1.5.4
[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 console v0.15.0
[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 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 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.90s
[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 9`
[INFO] running `Command { std: "docker" "inspect" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7", kill_on_drop: false }`
[INFO] [stdout] 09310557a2149d067dd3bfe0e3e813feaf416c4e36298362bc671a24243bbce7
