[INFO] cloning repository https://github.com/luciorocco/rust_project
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luciorocco/rust_project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluciorocco%2Frust_project", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluciorocco%2Frust_project'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8617a1f508081a8269500783330877009ddd1e05
[INFO] checking luciorocco/rust_project against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluciorocco%2Frust_project" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/luciorocco/rust_project
[INFO] finished tweaking git repo https://github.com/luciorocco/rust_project
[INFO] tweaked toml for git repo https://github.com/luciorocco/rust_project written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/luciorocco/rust_project on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/luciorocco/rust_project 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded circular v0.3.0
[INFO] [stderr]   Downloaded pcap v1.0.0
[INFO] [stderr]   Downloaded libloading v0.6.7
[INFO] [stderr]   Downloaded pktparse v0.7.1
[INFO] [stderr]   Downloaded link-cplusplus v1.0.7
[INFO] [stderr]   Downloaded scratch v1.0.2
[INFO] [stderr]   Downloaded cxxbridge-flags v1.0.82
[INFO] [stderr]   Downloaded pcap-parser v0.14.0
[INFO] [stderr]   Downloaded cxxbridge-macro v1.0.82
[INFO] [stderr]   Downloaded cxx-build v1.0.82
[INFO] [stderr]   Downloaded etherparse v0.13.0
[INFO] [stderr]   Downloaded cxx v1.0.82
[INFO] [stderr]   Downloaded pcap-sys v0.1.3
[INFO] [stderr]   Downloaded serde_json_any_key v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c9f708390a9367959a7e5d4e7a14e09815198c0947e405ad0f9dff24fcdfb0b5
[INFO] running `Command { std: "docker" "start" "-a" "c9f708390a9367959a7e5d4e7a14e09815198c0947e405ad0f9dff24fcdfb0b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9f708390a9367959a7e5d4e7a14e09815198c0947e405ad0f9dff24fcdfb0b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9f708390a9367959a7e5d4e7a14e09815198c0947e405ad0f9dff24fcdfb0b5", kill_on_drop: false }`
[INFO] [stdout] c9f708390a9367959a7e5d4e7a14e09815198c0947e405ad0f9dff24fcdfb0b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e9f630efa94d828554365767f711d6b456d7c9479278c2ac2fefa2aee828ad0
[INFO] running `Command { std: "docker" "start" "-a" "1e9f630efa94d828554365767f711d6b456d7c9479278c2ac2fefa2aee828ad0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling proc-macro2 v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling rustix v0.36.5
[INFO] [stderr]    Compiling regex-syntax v0.6.28
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling libloading v0.6.7
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling serde_json v1.0.91
[INFO] [stderr]     Checking ryu v1.0.12
[INFO] [stderr]     Checking itoa v1.0.5
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]    Compiling rust_project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking circular v0.3.0
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]     Checking once_cell v1.16.0
[INFO] [stderr]     Checking pcap-parser v0.14.0
[INFO] [stderr]     Checking pktparse v0.7.1
[INFO] [stderr]     Checking etherparse v0.13.0
[INFO] [stderr]    Compiling pcap-sys v0.1.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking io-lifetimes v1.0.3
[INFO] [stderr]     Checking errno v0.2.8
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking regex v1.7.0
[INFO] [stderr]     Checking dirs v4.0.0
[INFO] [stderr]     Checking chrono v0.4.23
[INFO] [stderr]     Checking is-terminal v0.4.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serde_derive v1.0.152
[INFO] [stderr]    Compiling clap_derive v4.0.21
[INFO] [stderr]    Compiling pcap v1.0.0
[INFO] [stderr]     Checking clap v4.0.29
[INFO] [stderr]     Checking serde v1.0.152
[INFO] [stderr]     Checking serde_json_any_key v2.0.0
[INFO] [stdout] warning: unused import: `Args`
[INFO] [stdout]  --> src/cli.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{Args,Parser};
[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: `Duration`
[INFO] [stdout]  --> src/parse.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Duration, Local, NaiveDateTime, Utc};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::icmp::parse_icmp_header`
[INFO] [stdout]  --> src/parse.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pktparse::icmp::parse_icmp_header;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IPv4Header`
[INFO] [stdout]  --> src/parse.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pktparse::ipv4::{IPv4Header, parse_ipv4_header};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `k` should have an upper camel case name
[INFO] [stdout]  --> src/structs/summaryf.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct k{
[INFO] [stdout]   |            ^ help: convert the identifier to upper camel case (notice the capitalization): `K`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Args`
[INFO] [stdout]  --> src/cli.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{Args,Parser};
[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: `Duration`
[INFO] [stdout]  --> src/parse.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Duration, Local, NaiveDateTime, Utc};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::icmp::parse_icmp_header`
[INFO] [stdout]  --> src/parse.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use pktparse::icmp::parse_icmp_header;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IPv4Header`
[INFO] [stdout]  --> src/parse.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use pktparse::ipv4::{IPv4Header, parse_ipv4_header};
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `k` should have an upper camel case name
[INFO] [stdout]  --> src/structs/summaryf.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct k{
[INFO] [stdout]   |            ^ help: convert the identifier to upper camel case (notice the capitalization): `K`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `summary` should have an upper camel case name
[INFO] [stdout]   --> src/structs/summaryf.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct summary{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `summary` should have an upper camel case name
[INFO] [stdout]   --> src/structs/summaryf.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct summary{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `result`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, process, result, time};
[INFO] [stdout]   |           ^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `result`
[INFO] [stdout]  --> src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{fs, process, result, time};
[INFO] [stdout]   |           ^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]   --> src/main.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `DeviceFlags`, `PacketCodec`, `PacketHeader`, and `Packet`
[INFO] [stdout]   --> src/main.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use pcap::{Device, Capture, PacketCodec, PacketHeader, Packet, Address, Active, DeviceFlags};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^  ^^^^^^^          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::from_utf8`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str::from_utf8;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::FromUtf8Error`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::string::FromUtf8Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::builder::Str`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use clap::builder::Str;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::*`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use pktparse::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPv4Header` and `parse_ipv4_header`
[INFO] [stdout]   --> src/main.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 | use pktparse::ipv4::{IPv4Header, parse_ipv4_header};
[INFO] [stdout]    |                      ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]   --> src/main.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Address`, `DeviceFlags`, `PacketCodec`, `PacketHeader`, and `Packet`
[INFO] [stdout]   --> src/main.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use pcap::{Device, Capture, PacketCodec, PacketHeader, Packet, Address, Active, DeviceFlags};
[INFO] [stdout]    |                             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^  ^^^^^^^          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::from_utf8`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::str::from_utf8;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::FromUtf8Error`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::string::FromUtf8Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::prelude::*`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::builder::Str`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use clap::builder::Str;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::ipv6::parse_ipv6_header`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use pktparse::ipv6::parse_ipv6_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::tcp::parse_tcp_header`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use pktparse::tcp::parse_tcp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::udp::parse_udp_header`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use pktparse::udp::parse_udp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `etherparse::*`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use etherparse::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::arp::parse_arp_pkt`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use pktparse::arp::parse_arp_pkt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EthernetFrame`, `VlanEthernetFrame`, `parse_ethernet_frame`, and `parse_vlan_ethernet_frame`
[INFO] [stdout]   --> src/main.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 | use pktparse::ethernet::{EthernetFrame, parse_ethernet_frame, parse_vlan_ethernet_frame, VlanEthernetFrame};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::icmp::parse_icmp_header`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use pktparse::icmp::parse_icmp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcap_parser::nom::IResult`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use pcap_parser::nom::IResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]   --> src/main.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::{create_dir_all, File, OpenOptions};
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dirs::desktop_dir`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use dirs::desktop_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use serde_json::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json_any_key::*`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use serde_json_any_key::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::Builder`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::thread::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]   --> src/main.rs:41:44
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::sync::{Arc, Condvar, mpsc, Mutex, MutexGuard};
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::*`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use pktparse::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IPv4Header` and `parse_ipv4_header`
[INFO] [stdout]   --> src/main.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 | use pktparse::ipv4::{IPv4Header, parse_ipv4_header};
[INFO] [stdout]    |                      ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::ipv6::parse_ipv6_header`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use pktparse::ipv6::parse_ipv6_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::tcp::parse_tcp_header`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use pktparse::tcp::parse_tcp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::udp::parse_udp_header`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use pktparse::udp::parse_udp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `etherparse::*`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use etherparse::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::arp::parse_arp_pkt`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use pktparse::arp::parse_arp_pkt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EthernetFrame`, `VlanEthernetFrame`, `parse_ethernet_frame`, and `parse_vlan_ethernet_frame`
[INFO] [stdout]   --> src/main.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 | use pktparse::ethernet::{EthernetFrame, parse_ethernet_frame, parse_vlan_ethernet_frame, VlanEthernetFrame};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pktparse::icmp::parse_icmp_header`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use pktparse::icmp::parse_icmp_header;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcap_parser::nom::IResult`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use pcap_parser::nom::IResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::null`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use std::ptr::null;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]   --> src/main.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fs::{create_dir_all, File, OpenOptions};
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dirs::desktop_dir`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use dirs::desktop_dir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Result`
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use serde_json::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender` and `channel`
[INFO] [stdout]   --> src/main.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 | use std::sync::mpsc::{channel, Receiver, RecvTimeoutError, Sender, SyncSender, TryRecvError};
[INFO] [stdout]    |                       ^^^^^^^                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Duration`
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use chrono::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcap_parser::nom::Err::Error`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use pcap_parser::nom::Err::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Unexpected::Option`
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use serde::de::Unexpected::Option;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Occupied` and `Vacant`
[INFO] [stdout]   --> src/main.rs:48:41
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::collections::hash_map::Entry::{Occupied, Vacant};
[INFO] [stdout]    |                                         ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if(x.1.flags.connection_status == pcap::ConnectionStatus::Connected){
[INFO] [stdout]    |           ^                                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -         if(x.1.flags.connection_status == pcap::ConnectionStatus::Connected){
[INFO] [stdout] 89 +         if x.1.flags.connection_status == pcap::ConnectionStatus::Connected {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json_any_key::*`
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use serde_json_any_key::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::Builder`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::thread::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MutexGuard`
[INFO] [stdout]   --> src/main.rs:41:44
[INFO] [stdout]    |
[INFO] [stdout] 41 | use std::sync::{Arc, Condvar, mpsc, Mutex, MutexGuard};
[INFO] [stdout]    |                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SyncSender` and `channel`
[INFO] [stdout]   --> src/main.rs:43:23
[INFO] [stdout]    |
[INFO] [stdout] 43 | use std::sync::mpsc::{channel, Receiver, RecvTimeoutError, Sender, SyncSender, TryRecvError};
[INFO] [stdout]    |                       ^^^^^^^                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Duration`
[INFO] [stdout]   --> src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | use chrono::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pcap_parser::nom::Err::Error`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | use pcap_parser::nom::Err::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::Unexpected::Option`
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use serde::de::Unexpected::Option;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Occupied` and `Vacant`
[INFO] [stdout]   --> src/main.rs:48:41
[INFO] [stdout]    |
[INFO] [stdout] 48 | use std::collections::hash_map::Entry::{Occupied, Vacant};
[INFO] [stdout]    |                                         ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/main.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if(x.1.flags.connection_status == pcap::ConnectionStatus::Connected){
[INFO] [stdout]    |           ^                                                                ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -         if(x.1.flags.connection_status == pcap::ConnectionStatus::Connected){
[INFO] [stdout] 89 +         if x.1.flags.connection_status == pcap::ConnectionStatus::Connected {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:257:11
[INFO] [stdout]     |
[INFO] [stdout] 257 |         if(!ext_atm3.load(Ordering::Relaxed)){
[INFO] [stdout]     |           ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 257 -         if(!ext_atm3.load(Ordering::Relaxed)){
[INFO] [stdout] 257 +         if !ext_atm3.load(Ordering::Relaxed) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     if(ext_atm3.load(Ordering::Relaxed)){println!("FINISH PARSE PACKET ");break}
[INFO] [stdout]     |                       ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     if(ext_atm3.load(Ordering::Relaxed)){println!("FINISH PARSE PACKET ");break}
[INFO] [stdout] 261 +                     if ext_atm3.load(Ordering::Relaxed) {println!("FINISH PARSE PACKET ");break}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:257:11
[INFO] [stdout]     |
[INFO] [stdout] 257 |         if(!ext_atm3.load(Ordering::Relaxed)){
[INFO] [stdout]     |           ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 257 -         if(!ext_atm3.load(Ordering::Relaxed)){
[INFO] [stdout] 257 +         if !ext_atm3.load(Ordering::Relaxed) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:261:23
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     if(ext_atm3.load(Ordering::Relaxed)){println!("FINISH PARSE PACKET ");break}
[INFO] [stdout]     |                       ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 261 -                     if(ext_atm3.load(Ordering::Relaxed)){println!("FINISH PARSE PACKET ");break}
[INFO] [stdout] 261 +                     if ext_atm3.load(Ordering::Relaxed) {println!("FINISH PARSE PACKET ");break}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::internal::Input`
[INFO] [stdout]  --> src/savefile.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::internal::Input;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/main.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/sniff.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     while let packet = cap.next_packet() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lt`
[INFO] [stdout]   --> src/sniff.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let lt = cap.get_datalink();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_lt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/sniff.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/sniff.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::internal::Input`
[INFO] [stdout]  --> src/savefile.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use regex::internal::Input;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/main.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/parse.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 |         pktparse::arp::Operation::Other(p) => *operation = "Other".to_string()
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/parse.rs:155:18
[INFO] [stdout]     |
[INFO] [stdout] 155 |         Occupied(e) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/parse.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         Vacant(e) => {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/savefile.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let mut ap_protocol= match structs::application_layer::from_port_to_application_protocol(x.0.dest_port) {
[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]   --> src/savefile.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut file_op= OpenOptions::new()
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/sniff.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     while let packet = cap.next_packet() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lt`
[INFO] [stdout]   --> src/sniff.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let lt = cap.get_datalink();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_lt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/sniff.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/sniff.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/parse.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 |         pktparse::arp::Operation::Other(p) => *operation = "Other".to_string()
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/parse.rs:155:18
[INFO] [stdout]     |
[INFO] [stdout] 155 |         Occupied(e) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/parse.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         Vacant(e) => {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/savefile.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 let mut ap_protocol= match structs::application_layer::from_port_to_application_protocol(x.0.dest_port) {
[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]   --> src/savefile.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let mut file_op= OpenOptions::new()
[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]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut cap = Capture::from_device(device)
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   Some(y) => {println!("Num: {}, Desc: {:?},  Address = ( {:?} )", x.0 , x.1.desc.as_ref().unwrap(), x.1.addresses.first().unwra...
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]    --> src/main.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |             Ok(ok) => {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut file = match File::create(p){
[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]    --> src/main.rs:283:29
[INFO] [stdout]     |
[INFO] [stdout] 283 |                         let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut cv2 = cv.clone();
[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]    --> src/main.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let mut cv6 = Arc::clone(&cv3);
[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]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut sum : Arc<Mutex<structs::summaryf::Summary>> = Arc::new(Mutex::new(HashMap::new()));
[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]    --> src/main.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut sum_save = Arc::clone(&sum);
[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]    --> src/main.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let mut x = dirs::desktop_dir().unwrap();
[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]    --> src/main.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |             let mut x : u64 = 10;
[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]    --> src/main.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let mut x : u64 = 10;
[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]    --> src/main.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let mut x = "".to_string();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]    --> src/main.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                     let guard = cvar.wait_while(lock.lock().unwrap(), |pending| *pending);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:291:20
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 Ok(x) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut cap = Capture::from_device(device)
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...   Some(y) => {println!("Num: {}, Desc: {:?},  Address = ( {:?} )", x.0 , x.1.desc.as_ref().unwrap(), x.1.addresses.first().unwra...
[INFO] [stdout]    |            ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ok`
[INFO] [stdout]    --> src/main.rs:103:16
[INFO] [stdout]     |
[INFO] [stdout] 103 |             Ok(ok) => {
[INFO] [stdout]     |                ^^ help: if this is intentional, prefix it with an underscore: `_ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/main.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let mut file = match File::create(p){
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 create_dir_all(&string_path);
[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] 178 |                 let _ = create_dir_all(&string_path);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/sniff.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 tx.send(pa);
[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] 34 |                 let _ = tx.send(pa);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/wait_input.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     sender.send("e".to_string());
[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] 73 |     let _ = sender.send("e".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_toDate` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn ts_toDate(ts_sec: i64, ts_usec: u32) -> String{
[INFO] [stdout]    |    ^^^^^^^^^ help: convert the identifier to snake case: `ts_to_date`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ethernetDecode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn ethernetDecode(ethernet_u8: &[u8]) -> VlanEthernetFrame{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ethernet_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ipv4Decode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn ipv4Decode(ipv4_u8: &[u8], data: &[u8], src: &mut String, dst: &mut String, prot: &mut String, srp: &mut u16, dsp: &mut u16){
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `ipv4_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ipv6Decode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn ipv6Decode(ipv6_u8: &[u8], data: &[u8], src: &mut String, dst: &mut String, prot: &mut String, srp: &mut u16, dsp: &mut u16){
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `ipv6_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arpDecode` should have a snake case name
[INFO] [stdout]    --> src/parse.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn arpDecode(arp_u8: &[u8], src: &mut String, dst: &mut String, operation :&mut String){
[INFO] [stdout]     |    ^^^^^^^^^ help: convert the identifier to snake case: `arp_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_toDecode` should have a snake case name
[INFO] [stdout]    --> src/parse.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn try_toDecode(data : &[u8], sum: &mut structs::summaryf::Summary, newdate: String, i: u32){
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `try_to_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/savefile.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             writeln!(&file_op,"\n");
[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] 20 |             let _ = writeln!(&file_op,"\n");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:283:29
[INFO] [stdout]     |
[INFO] [stdout] 283 |                         let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:292:25
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let mut sum1 = sum_save.lock().unwrap();
[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]    --> src/main.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut cv2 = cv.clone();
[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]    --> src/main.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |     let mut cv6 = Arc::clone(&cv3);
[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]    --> src/main.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let mut sum : Arc<Mutex<structs::summaryf::Summary>> = Arc::new(Mutex::new(HashMap::new()));
[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]    --> src/main.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     let mut sum_save = Arc::clone(&sum);
[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]    --> src/main.rs:171:17
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let mut x = dirs::desktop_dir().unwrap();
[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]    --> src/main.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 |             let mut x : u64 = 10;
[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]    --> src/main.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let mut x : u64 = 10;
[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]    --> src/main.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let mut x = "".to_string();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]    --> src/main.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                     let guard = cvar.wait_while(lock.lock().unwrap(), |pending| *pending);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:291:20
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 Ok(x) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 create_dir_all(&string_path);
[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] 178 |                 let _ = create_dir_all(&string_path);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/sniff.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 tx.send(pa);
[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] 34 |                 let _ = tx.send(pa);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/wait_input.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     sender.send("e".to_string());
[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] 73 |     let _ = sender.send("e".to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ts_toDate` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn ts_toDate(ts_sec: i64, ts_usec: u32) -> String{
[INFO] [stdout]    |    ^^^^^^^^^ help: convert the identifier to snake case: `ts_to_date`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ethernetDecode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn ethernetDecode(ethernet_u8: &[u8]) -> VlanEthernetFrame{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ethernet_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ipv4Decode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn ipv4Decode(ipv4_u8: &[u8], data: &[u8], src: &mut String, dst: &mut String, prot: &mut String, srp: &mut u16, dsp: &mut u16){
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `ipv4_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ipv6Decode` should have a snake case name
[INFO] [stdout]   --> src/parse.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn ipv6Decode(ipv6_u8: &[u8], data: &[u8], src: &mut String, dst: &mut String, prot: &mut String, srp: &mut u16, dsp: &mut u16){
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `ipv6_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arpDecode` should have a snake case name
[INFO] [stdout]    --> src/parse.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn arpDecode(arp_u8: &[u8], src: &mut String, dst: &mut String, operation :&mut String){
[INFO] [stdout]     |    ^^^^^^^^^ help: convert the identifier to snake case: `arp_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_toDecode` should have a snake case name
[INFO] [stdout]    --> src/parse.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn try_toDecode(data : &[u8], sum: &mut structs::summaryf::Summary, newdate: String, i: u32){
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `try_to_decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/savefile.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             writeln!(&file_op,"\n");
[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] 20 |             let _ = writeln!(&file_op,"\n");
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.94s
[INFO] running `Command { std: "docker" "inspect" "1e9f630efa94d828554365767f711d6b456d7c9479278c2ac2fefa2aee828ad0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e9f630efa94d828554365767f711d6b456d7c9479278c2ac2fefa2aee828ad0", kill_on_drop: false }`
[INFO] [stdout] 1e9f630efa94d828554365767f711d6b456d7c9479278c2ac2fefa2aee828ad0
