[INFO] cloning repository https://github.com/ayourtch/scarust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ayourtch/scarust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fayourtch%2Fscarust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fayourtch%2Fscarust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b841ced0dbbf1084a74c21ebfd55cc45c1c12e8f
[INFO] testing ayourtch/scarust against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fayourtch%2Fscarust" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ayourtch/scarust on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ayourtch/scarust
[INFO] finished tweaking git repo https://github.com/ayourtch/scarust
[INFO] tweaked toml for git repo https://github.com/ayourtch/scarust written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ayourtch/scarust 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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd5990fcf0caa924c2b9f746b24bcfd42d2216d5cd4dd82771e35e6f63df0779
[INFO] running `Command { std: "docker" "start" "-a" "bd5990fcf0caa924c2b9f746b24bcfd42d2216d5cd4dd82771e35e6f63df0779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd5990fcf0caa924c2b9f746b24bcfd42d2216d5cd4dd82771e35e6f63df0779", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd5990fcf0caa924c2b9f746b24bcfd42d2216d5cd4dd82771e35e6f63df0779", kill_on_drop: false }`
[INFO] [stdout] bd5990fcf0caa924c2b9f746b24bcfd42d2216d5cd4dd82771e35e6f63df0779
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 744a0f504580b826b525c370dde96411af05127dd9c5de83b7b9816ac1125d4c
[INFO] running `Command { std: "docker" "start" "-a" "744a0f504580b826b525c370dde96411af05127dd9c5de83b7b9816ac1125d4c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling serde v1.0.189
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling inventory v0.3.15
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling mopa v0.2.2
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling nix v0.23.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.189
[INFO] [stderr]    Compiling linkme-impl v0.3.17
[INFO] [stderr]    Compiling typetag-impl v0.2.14
[INFO] [stderr]    Compiling scarust-derive v0.1.0 (/opt/rustwide/workdir/scarust-derive)
[INFO] [stderr]    Compiling mac_address v1.1.5
[INFO] [stdout] warning: unused import: `proc_macro::Literal`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro::Literal;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Index`, `parse_macro_input`, and `parse_quote`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     parse_macro_input, parse_quote, Data, DeriveInput, Fields, GenericParam, Generics, Index, Path,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Punct`, `Spacing`, and `TokenTree`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 | use proc_macro2::{Punct, Spacing, Span, TokenStream, TokenTree};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenStreamExt`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 | use quote::{ToTokens, TokenStreamExt};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 619 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemStruct` and `parse_quote`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:620:30
[INFO] [stdout]     |
[INFO] [stdout] 620 |     use syn::{parenthesized, parse_quote, token, ItemStruct, LitInt, Token};
[INFO] [stdout]     |                              ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemStruct`, `braced`, and `parse_quote`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1152:33
[INFO] [stdout]      |
[INFO] [stdout] 1152 | ...                   braced, parenthesized, parse_quote, token, ItemStruct, LitInt,
[INFO] [stdout]      |                       ^^^^^^                 ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let conv = self.0.conv.clone();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> scarust-derive/src/lib.rs:138:59
[INFO] [stdout]     |
[INFO] [stdout] 138 |         fn insert_double_colon_if_second_is_angle_bracket(mut tokens: TokenStream) -> TokenStream {
[INFO] [stdout]     |                                                           ----^^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixed_typ`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixed_typ`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nproto_decoder`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:629:13
[INFO] [stdout]     |
[INFO] [stdout] 629 |     let mut nproto_decoder = default_decoder;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nproto_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comma_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:659:25
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:662:25
[INFO] [stdout]     |
[INFO] [stdout] 662 |                     let eq_token: Option<Token![=]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comma_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:681:25
[INFO] [stdout]     |
[INFO] [stdout] 681 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:684:25
[INFO] [stdout]     |
[INFO] [stdout] 684 |                     let eq_token: Option<Token![:]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:687:25
[INFO] [stdout]     |
[INFO] [stdout] 687 |                     let name = name.clone();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:720:29
[INFO] [stdout]     |
[INFO] [stdout] 720 |                         let n: usize = lit.base10_parse()?;
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> scarust-derive/src/lib.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout] 629 |     let mut nproto_decoder = default_decoder;
[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]    --> scarust-derive/src/lib.rs:816:9
[INFO] [stdout]     |
[INFO] [stdout] 816 |     let mut tokens = quote! {
[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]    --> scarust-derive/src/lib.rs:967:9
[INFO] [stdout]     |
[INFO] [stdout] 967 |     let mut tokens = quote! {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_param`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:988:43
[INFO] [stdout]     |
[INFO] [stdout] 988 |         if let GenericParam::Type(ref mut type_param) = *param {
[INFO] [stdout]     |                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1056:37
[INFO] [stdout]      |
[INFO] [stdout] 1056 |                 Fields::Unnamed(ref fields) => {
[INFO] [stdout]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1352:37
[INFO] [stdout]      |
[INFO] [stdout] 1352 |                 Fields::Unnamed(ref fields) => {
[INFO] [stdout]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1173:45
[INFO] [stdout]      |
[INFO] [stdout] 1173 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1181:45
[INFO] [stdout]      |
[INFO] [stdout] 1181 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1188:45
[INFO] [stdout]      |
[INFO] [stdout] 1188 | ...                   let eq_token: Option<Token![:]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1190:45
[INFO] [stdout]      |
[INFO] [stdout] 1190 | ...                   let eq_token: Option<Token![=>]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1198:45
[INFO] [stdout]      |
[INFO] [stdout] 1198 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1206:45
[INFO] [stdout]      |
[INFO] [stdout] 1206 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1214:45
[INFO] [stdout]      |
[INFO] [stdout] 1214 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1222:45
[INFO] [stdout]      |
[INFO] [stdout] 1222 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_additional_data` is assigned to, but never used
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut has_additional_data = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_has_additional_data` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_additional_data` is never read
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 has_additional_data = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_additional_data` is never read
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 has_additional_data = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `auto` is never read
[INFO] [stdout]   --> scarust-derive/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct NetprotoStructField {
[INFO] [stdout]    |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     auto: Option<TokenStream>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetprotoStructField` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:466:13
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `modify_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let modify_X = Ident::new(&format!("modify_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `modify_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `layers_by_TYPEID` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:580:13
[INFO] [stdout]     |
[INFO] [stdout] 580 |         let layers_by_TYPEID = Ident::new(&format!("{}_BY_TYPEID", &self.place), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `layers_by_typeid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling linkme v0.3.17
[INFO] [stderr]    Compiling erased-serde v0.4.1
[INFO] [stderr]    Compiling generic-array v1.0.0
[INFO] [stderr]    Compiling typetag v0.2.14
[INFO] [stderr]    Compiling scarust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(955..971) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(971..972) }, Ident { ident: "Ethertype", span: #0 bytes(973..982) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(982..983) }, Ident { ident: "u16", span: #0 bytes(984..987) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(955..971) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(973..982) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(984..987) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(1009..1020) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1020..1021) }, Ident { ident: "Proto", span: #0 bytes(1022..1027) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1027..1028) }, Ident { ident: "u8", span: #0 bytes(1029..1031) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(1009..1020) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(1022..1027) }
[INFO] [stdout] VAL: Ident { ident: "u8", span: #0 bytes(1029..1031) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(1053..1063) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1063..1064) }, Ident { ident: "Type", span: #0 bytes(1065..1069) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1069..1070) }, Ident { ident: "u8", span: #0 bytes(1071..1073) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(1053..1063) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(1065..1069) }
[INFO] [stdout] VAL: Ident { ident: "u8", span: #0 bytes(1071..1073) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(1095..1112) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1112..1113) }, Ident { ident: "SrcPort", span: #0 bytes(1114..1121) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1121..1122) }, Ident { ident: "u16", span: #0 bytes(1123..1126) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(1095..1112) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(1114..1121) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(1123..1126) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(1148..1165) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1165..1166) }, Ident { ident: "DstPort", span: #0 bytes(1167..1174) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1174..1175) }, Ident { ident: "u16", span: #0 bytes(1176..1179) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(1148..1165) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(1167..1174) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(1176..1179) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "BOOTP_VENDORS", span: #0 bytes(1201..1214) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1214..1215) }, Ident { ident: "VendorCookie", span: #0 bytes(1216..1228) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1228..1229) }, Ident { ident: "u32", span: #0 bytes(1230..1233) }]
[INFO] [stdout] PLACE: Ident { ident: "BOOTP_VENDORS", span: #0 bytes(1201..1214) }
[INFO] [stdout] KEY: Ident { ident: "VendorCookie", span: #0 bytes(1216..1228) }
[INFO] [stdout] VAL: Ident { ident: "u32", span: #0 bytes(1230..1233) }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(29726..29742) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(29742..29743) }, Ident { ident: "Ethertype", span: #0 bytes(29744..29753) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(29754..29755) }, Literal { kind: Integer, symbol: "0x0806", suffix: None, span: #0 bytes(29756..29762) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(29726..29742) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(29744..29753) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x0806 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "BOOTP_VENDORS", span: #0 bytes(40993..41006) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(41006..41007) }, Ident { ident: "VendorCookie", span: #0 bytes(41008..41020) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(41021..41022) }, Ident { ident: "DHCP_COOKIE_VAL", span: #0 bytes(41023..41038) }]
[INFO] [stdout] PLACE: Ident { ident: "BOOTP_VENDORS", span: #0 bytes(40993..41006) }
[INFO] [stdout] KEY: Ident { ident: "VendorCookie", span: #0 bytes(41008..41020) }
[INFO] [stdout] VAL: Expr::Path { attrs: [], qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "DHCP_COOKIE_VAL", span: #0 bytes(41023..41038) }, arguments: PathArguments::None }] } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42229..42246) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42246..42247) }, Ident { ident: "DstPort", span: #0 bytes(42248..42255) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42256..42257) }, Literal { kind: Integer, symbol: "67", suffix: None, span: #0 bytes(42258..42260) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42229..42246) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(42248..42255) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 67 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42282..42299) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42299..42300) }, Ident { ident: "SrcPort", span: #0 bytes(42301..42308) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42309..42310) }, Literal { kind: Integer, symbol: "67", suffix: None, span: #0 bytes(42311..42313) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42282..42299) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(42301..42308) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 67 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42335..42352) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42352..42353) }, Ident { ident: "DstPort", span: #0 bytes(42354..42361) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42362..42363) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(42364..42366) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42335..42352) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(42354..42361) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 68 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42388..42405) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42405..42406) }, Ident { ident: "SrcPort", span: #0 bytes(42407..42414) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42415..42416) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(42417..42419) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42388..42405) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(42407..42414) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 68 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(45066..45082) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(45082..45083) }, Ident { ident: "Ethertype", span: #0 bytes(45084..45093) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(45094..45095) }, Literal { kind: Integer, symbol: "0x8100", suffix: None, span: #0 bytes(45096..45102) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(45066..45082) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(45084..45093) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x8100 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(46495..46511) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(46511..46512) }, Ident { ident: "Ethertype", span: #0 bytes(46513..46522) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(46523..46524) }, Literal { kind: Integer, symbol: "0x88be", suffix: None, span: #0 bytes(46525..46531) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(46495..46511) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(46513..46522) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x88be } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(50705..50721) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50721..50722) }, Ident { ident: "Ethertype", span: #0 bytes(50723..50732) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(50733..50734) }, Literal { kind: Integer, symbol: "0x6558", suffix: None, span: #0 bytes(50735..50741) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(50705..50721) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(50723..50732) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x6558 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(51640..51657) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51657..51658) }, Ident { ident: "DstPort", span: #0 bytes(51659..51666) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51667..51668) }, Literal { kind: Integer, symbol: "6081", suffix: None, span: #0 bytes(51669..51673) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(51640..51657) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(51659..51666) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6081 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(51695..51712) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51712..51713) }, Ident { ident: "SrcPort", span: #0 bytes(51714..51721) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51722..51723) }, Literal { kind: Integer, symbol: "6081", suffix: None, span: #0 bytes(51724..51728) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(51695..51712) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(51714..51721) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6081 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(53549..53560) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53560..53561) }, Ident { ident: "Proto", span: #0 bytes(53562..53567) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53568..53569) }, Literal { kind: Integer, symbol: "47", suffix: None, span: #0 bytes(53570..53572) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(53549..53560) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(53562..53567) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 47 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(57909..57920) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(57920..57921) }, Ident { ident: "Proto", span: #0 bytes(57922..57927) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(57928..57929) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(57930..57931) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(57909..57920) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(57922..57927) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 1 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(58270..58280) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(58280..58281) }, Ident { ident: "Type", span: #0 bytes(58282..58286) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(58287..58288) }, Literal { kind: Integer, symbol: "8", suffix: None, span: #0 bytes(58289..58290) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(58270..58280) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(58282..58286) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 8 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(58501..58511) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(58511..58512) }, Ident { ident: "Type", span: #0 bytes(58513..58517) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(58518..58519) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(58520..58521) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(58501..58511) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(58513..58517) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(59512..59528) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(59528..59529) }, Ident { ident: "Ethertype", span: #0 bytes(59530..59539) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(59540..59541) }, Literal { kind: Integer, symbol: "0x800", suffix: None, span: #0 bytes(59542..59547) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(59512..59528) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(59530..59539) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x800 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(59569..59580) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(59580..59581) }, Ident { ident: "Proto", span: #0 bytes(59582..59587) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(59588..59589) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(59590..59591) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(59569..59580) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(59582..59587) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(69193..69204) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(69204..69205) }, Ident { ident: "Proto", span: #0 bytes(69206..69211) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(69212..69213) }, Literal { kind: Integer, symbol: "6", suffix: None, span: #0 bytes(69214..69215) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(69193..69204) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(69206..69211) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(73206..73217) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(73217..73218) }, Ident { ident: "Proto", span: #0 bytes(73219..73224) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(73225..73226) }, Literal { kind: Integer, symbol: "17", suffix: None, span: #0 bytes(73227..73229) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(73206..73217) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(73219..73224) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 17 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(76610..76627) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(76627..76628) }, Ident { ident: "DstPort", span: #0 bytes(76629..76636) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(76637..76638) }, Literal { kind: Integer, symbol: "4789", suffix: None, span: #0 bytes(76639..76643) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(76610..76627) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(76629..76636) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4789 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(76665..76682) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(76682..76683) }, Ident { ident: "SrcPort", span: #0 bytes(76684..76691) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(76692..76693) }, Literal { kind: Integer, symbol: "4789", suffix: None, span: #0 bytes(76694..76698) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(76665..76682) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(76684..76691) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4789 } }
[INFO] [stdout] warning: unused import: `serde::ser::SerializeTuple`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::ser::SerializeTuple;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `protocolRegistriesSentinel` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct protocolRegistriesSentinel;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProtocolRegistriesSentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dot1Q` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct dot1Q {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Dot1q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `erspan` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/erspan.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct erspan {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case: `Erspan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ether` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/ether.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ether {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Ether`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echo` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct echo {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `Echo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echoReply` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct echoReply {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `EchoReply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/icmp.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]    --> src/protocols/ip.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     use std::convert::TryInto;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFile` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct pcapFile {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `PcapFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFileData` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct pcapFileData {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapFileData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapPacket` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct pcapPacket {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapPacket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `raw` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/raw.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct raw {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/udp.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 panic!("TBD1");
[INFO] [stdout]     |                 -------------- any code following this expression is unreachable
[INFO] [stdout] 515 |                 formatter.write_str("Ipv4Address")
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/lib.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |             Value::Func(f) => panic!("Serializing functions is not supported"),
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Err(e) => panic!("Could not parse!"),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatter`
[INFO] [stdout]    --> src/lib.rs:513:33
[INFO] [stdout]     |
[INFO] [stdout] 513 |             fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:517:35
[INFO] [stdout]     |
[INFO] [stdout] 517 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/lib.rs:699:31
[INFO] [stdout]     |
[INFO] [stdout] 699 |     pub fn g<T: Layer>(&self, idx: T) -> &T {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:703:37
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn item_at<T: Layer>(&self, item: T, idx: usize) -> Option<&T> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:707:39
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn get_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:715:49
[INFO] [stdout]     |
[INFO] [stdout] 715 |     pub fn get_innermost_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:723:47
[INFO] [stdout]     |
[INFO] [stdout] 723 |     pub fn get_layer_mut<T: Layer>(&mut self, item: T) -> Option<&mut T> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:732:39
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn layers_of<T: Layer>(&self, item: T) -> Vec<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/lib.rs:875:9
[INFO] [stdout]     |
[INFO] [stdout] 875 |         stack: &LayerStack,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/lib.rs:876:9
[INFO] [stdout]     |
[INFO] [stdout] 876 |         my_index: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/lib.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (v, delta) = D::decode_vec(buf, me.hwlen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (v, delta) = D::decode_vec(buf, me.plen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/bootp.rs:118:45
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn decode_dhcp_opts<D: Decoder>(buf: &[u8], me: &mut Dhcp) -> Option<(Vec<DhcpOption>, usize)> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     my_layer: &Dhcp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/protocols/bootp.rs:195:39
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BootpVendorData {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]    --> src/protocols/bootp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `the_vec`
[INFO] [stdout]    --> src/protocols/bootp.rs:224:14
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let (the_vec, _) = D::decode_vec(buf, 60)?;
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/bootp.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     my_layer: &Bootp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/dot1q.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/erspan.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/erspan.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/erspan.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/erspan.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/erspan.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[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/protocols/erspan.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut the_u16: u16 = u16::from(7 & me.cos.value()) << 13
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/erspan.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut the_u16: u16 = (u16::from(me.vlan.value()) & 0xfff) | u16::from(version & 0xf) << 12;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut the_u32: u32 = (u32::from(me.port_index.value()) & 0xfffff)
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:21:53
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/geneve.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/geneve.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/geneve.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/geneve.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/geneve.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/gre.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/gre.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/gre.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/gre.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[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/protocols/gre.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut the_u16: u16 = u16::from(me.chksum_present.value()) << 15
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/gre.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/protocols/ip.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn from(v: u8) -> Self {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/protocols/ip.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> IpFlags {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ip.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ip.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/ip.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:111:37
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:111:57
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:119:43
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:119:63
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/ip.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     me: &Ip,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vp`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_vp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[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/protocols/pcap_file.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     me: &mut pcapFileData,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/pcap_file.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let mut pkts = stk
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:59
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:57
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         stack: &LayerStack,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         my_index: usize,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/raw.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:58
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:38
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:58
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/tcp.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:44
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:64
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/tcp.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/tcp.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/tcp.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[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/protocols/tcp.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut tcp_hdr_len: u16 = 20;
[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/protocols/tcp.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:20:61
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/udp.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     me: &Udp,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:42:64
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/udp.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/udp.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/udp.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[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/protocols/udp.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut udp_hdr_len: u16 = 8;
[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/protocols/udp.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/udp.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/udp.rs:106:38
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/udp.rs:106:58
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/vxlan.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/vxlan.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/vxlan.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DhcpOption` is more private than the item `Dhcp::options`
[INFO] [stdout]    --> src/protocols/bootp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub options: Vec<DhcpOption>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Dhcp::options` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DhcpOption` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/protocols/bootp.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | enum DhcpOption {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `readme_test` is never used
[INFO] [stdout]  --> src/lib.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn readme_test() {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_crc` is never used
[INFO] [stdout]   --> src/protocols/ether.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Ethertype` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[nproto(registry(ETHERTYPE_LAYERS, Ethertype: u16))]
[INFO] [stdout]    |                                     ^^^^^^^^^ help: convert the identifier to snake case: `ethertype`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Proto` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[nproto(registry(IANA_LAYERS, Proto: u8))]
[INFO] [stdout]    |                                ^^^^^ help: convert the identifier to snake case: `proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Type` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, Type: u8))]
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, r#type: u8))]
[INFO] [stdout]    |                               ~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SrcPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[nproto(registry(UDP_SRC_PORT_APPS, SrcPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `src_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DstPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[nproto(registry(UDP_DST_PORT_APPS, DstPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `dst_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `VendorCookie` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:48:34
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[nproto(registry(BOOTP_VENDORS, VendorCookie: u32))]
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `vendor_cookie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Box<dyn Layer>` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:793:29
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 return layer.clone();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&dyn Layer` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:808:29
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 return layer.clone().downcast_ref().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:887:26
[INFO] [stdout]     |
[INFO] [stdout] 887 |                 data: buf.clone().to_vec(),
[INFO] [stdout]     |                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout] ...
[INFO] [stdout] 49 |     let encoded_icmp_header = if let Some(icmp) = stack.item_at(ICMP!(), my_index) {
[INFO] [stdout]    |                                                                 ------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]    --> src/protocols/ip.rs:5:24
[INFO] [stdout]     |
[INFO] [stdout] 5   |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout] ...
[INFO] [stdout] 152 |     let encoded_ip_header = if let Some(ip) = stack.item_at(IP!(), my_index) {
[INFO] [stdout]     |                                                             ----- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 74 |         0xa1b2c3d4 => PcapFileData!().decode_with_decoder::<BinaryBigEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 75 |         0xd4c3b2a1 => PcapFileData!().decode_with_decoder::<BinaryLittleEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 80 |     dec.map(|(lyr, delta)| (lyr.layers_of(PcapFileData!())[0].clone(), delta))
[INFO] [stdout]    |                                           --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         if let Some((stk, delta)) = PcapPacket!().decode_with_decoder::<D>(&buf[ci..]) {
[INFO] [stdout]     |                                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 106 |                 .layers_of(PcapPacket!())
[INFO] [stdout]     |                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]   --> src/protocols/tcp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout] ...
[INFO] [stdout] 77 |     let encoded_tcp_header = if let Some(tcp) = stack.item_at(TCP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/tcp.rs:96:41
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]   --> src/protocols/udp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     let encoded_udp_header = if let Some(udp) = stack.item_at(UDP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/udp.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.18s
[INFO] running `Command { std: "docker" "inspect" "744a0f504580b826b525c370dde96411af05127dd9c5de83b7b9816ac1125d4c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "744a0f504580b826b525c370dde96411af05127dd9c5de83b7b9816ac1125d4c", kill_on_drop: false }`
[INFO] [stdout] 744a0f504580b826b525c370dde96411af05127dd9c5de83b7b9816ac1125d4c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fdadbfa9144b93f44159034aa9376924a8bf9b01f03a72bcffdd6e7cc981502e
[INFO] running `Command { std: "docker" "start" "-a" "fdadbfa9144b93f44159034aa9376924a8bf9b01f03a72bcffdd6e7cc981502e", kill_on_drop: false }`
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling rayon-core v1.12.0
[INFO] [stderr]    Compiling plotters-backend v0.3.5
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling plotters-svg v0.3.5
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling half v1.8.2
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling plotters v0.3.5
[INFO] [stderr]    Compiling rayon v1.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.2
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling criterion-plot v0.4.5
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stdout] warning: unused import: `proc_macro::Literal`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use proc_macro::Literal;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Index`, `parse_macro_input`, and `parse_quote`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     parse_macro_input, parse_quote, Data, DeriveInput, Fields, GenericParam, Generics, Index, Path,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Punct`, `Spacing`, and `TokenTree`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:58:19
[INFO] [stdout]    |
[INFO] [stdout] 58 | use proc_macro2::{Punct, Spacing, Span, TokenStream, TokenTree};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenStreamExt`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 | use quote::{ToTokens, TokenStreamExt};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 619 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemStruct` and `parse_quote`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:620:30
[INFO] [stdout]     |
[INFO] [stdout] 620 |     use syn::{parenthesized, parse_quote, token, ItemStruct, LitInt, Token};
[INFO] [stdout]     |                              ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemStruct`, `braced`, and `parse_quote`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1152:33
[INFO] [stdout]      |
[INFO] [stdout] 1152 | ...                   braced, parenthesized, parse_quote, token, ItemStruct, LitInt,
[INFO] [stdout]      |                       ^^^^^^                 ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let conv = self.0.conv.clone();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> scarust-derive/src/lib.rs:138:59
[INFO] [stdout]     |
[INFO] [stdout] 138 |         fn insert_double_colon_if_second_is_angle_bracket(mut tokens: TokenStream) -> TokenStream {
[INFO] [stdout]     |                                                           ----^^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixed_typ`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixed_typ`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:278:13
[INFO] [stdout]     |
[INFO] [stdout] 278 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_def_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set_X`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conv`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let conv = self.0.conv.clone();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nproto_decoder`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:629:13
[INFO] [stdout]     |
[INFO] [stdout] 629 |     let mut nproto_decoder = default_decoder;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nproto_decoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comma_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:659:25
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:662:25
[INFO] [stdout]     |
[INFO] [stdout] 662 |                     let eq_token: Option<Token![=]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comma_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:681:25
[INFO] [stdout]     |
[INFO] [stdout] 681 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:684:25
[INFO] [stdout]     |
[INFO] [stdout] 684 |                     let eq_token: Option<Token![:]> = content.parse()?;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:687:25
[INFO] [stdout]     |
[INFO] [stdout] 687 |                     let name = name.clone();
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:720:29
[INFO] [stdout]     |
[INFO] [stdout] 720 |                         let n: usize = lit.base10_parse()?;
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> scarust-derive/src/lib.rs:629:9
[INFO] [stdout]     |
[INFO] [stdout] 629 |     let mut nproto_decoder = default_decoder;
[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]    --> scarust-derive/src/lib.rs:816:9
[INFO] [stdout]     |
[INFO] [stdout] 816 |     let mut tokens = quote! {
[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]    --> scarust-derive/src/lib.rs:967:9
[INFO] [stdout]     |
[INFO] [stdout] 967 |     let mut tokens = quote! {
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_param`
[INFO] [stdout]    --> scarust-derive/src/lib.rs:988:43
[INFO] [stdout]     |
[INFO] [stdout] 988 |         if let GenericParam::Type(ref mut type_param) = *param {
[INFO] [stdout]     |                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_param`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1056:37
[INFO] [stdout]      |
[INFO] [stdout] 1056 |                 Fields::Unnamed(ref fields) => {
[INFO] [stdout]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1352:37
[INFO] [stdout]      |
[INFO] [stdout] 1352 |                 Fields::Unnamed(ref fields) => {
[INFO] [stdout]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1173:45
[INFO] [stdout]      |
[INFO] [stdout] 1173 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1181:45
[INFO] [stdout]      |
[INFO] [stdout] 1181 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1188:45
[INFO] [stdout]      |
[INFO] [stdout] 1188 | ...                   let eq_token: Option<Token![:]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1190:45
[INFO] [stdout]      |
[INFO] [stdout] 1190 | ...                   let eq_token: Option<Token![=>]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1198:45
[INFO] [stdout]      |
[INFO] [stdout] 1198 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling circular v0.3.0
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1206:45
[INFO] [stdout]      |
[INFO] [stdout] 1206 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1214:45
[INFO] [stdout]      |
[INFO] [stdout] 1214 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eq_token`
[INFO] [stdout]     --> scarust-derive/src/lib.rs:1222:45
[INFO] [stdout]      |
[INFO] [stdout] 1222 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `has_additional_data` is assigned to, but never used
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut has_additional_data = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_has_additional_data` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_additional_data` is never read
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 has_additional_data = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `has_additional_data` is never read
[INFO] [stdout]   --> scarust-derive/src/from_repr.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 has_additional_data = true;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `auto` is never read
[INFO] [stdout]   --> scarust-derive/src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct NetprotoStructField {
[INFO] [stdout]    |        ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     auto: Option<TokenStream>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetprotoStructField` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `get_def_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:466:13
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `set_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `modify_X` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let modify_X = Ident::new(&format!("modify_{}", &name), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `modify_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `layers_by_TYPEID` should have a snake case name
[INFO] [stdout]    --> scarust-derive/src/lib.rs:580:13
[INFO] [stdout]     |
[INFO] [stdout] 580 |         let layers_by_TYPEID = Ident::new(&format!("{}_BY_TYPEID", &self.place), Span::call_site());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `layers_by_typeid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling pcap-parser v0.14.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stdout] warning: unused import: `serde::ser::SerializeTuple`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::ser::SerializeTuple;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `protocolRegistriesSentinel` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct protocolRegistriesSentinel;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProtocolRegistriesSentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dot1Q` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct dot1Q {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Dot1q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `erspan` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/erspan.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct erspan {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case: `Erspan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ether` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/ether.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ether {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Ether`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echo` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct echo {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `Echo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echoReply` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct echoReply {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `EchoReply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/icmp.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]    --> src/protocols/ip.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     use std::convert::TryInto;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFile` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct pcapFile {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `PcapFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFileData` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct pcapFileData {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapFileData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapPacket` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct pcapPacket {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapPacket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `raw` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/raw.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct raw {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/udp.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 panic!("TBD1");
[INFO] [stdout]     |                 -------------- any code following this expression is unreachable
[INFO] [stdout] 515 |                 formatter.write_str("Ipv4Address")
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/lib.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |             Value::Func(f) => panic!("Serializing functions is not supported"),
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Err(e) => panic!("Could not parse!"),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatter`
[INFO] [stdout]    --> src/lib.rs:513:33
[INFO] [stdout]     |
[INFO] [stdout] 513 |             fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:517:35
[INFO] [stdout]     |
[INFO] [stdout] 517 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/lib.rs:699:31
[INFO] [stdout]     |
[INFO] [stdout] 699 |     pub fn g<T: Layer>(&self, idx: T) -> &T {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:703:37
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn item_at<T: Layer>(&self, item: T, idx: usize) -> Option<&T> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:707:39
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn get_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:715:49
[INFO] [stdout]     |
[INFO] [stdout] 715 |     pub fn get_innermost_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:723:47
[INFO] [stdout]     |
[INFO] [stdout] 723 |     pub fn get_layer_mut<T: Layer>(&mut self, item: T) -> Option<&mut T> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:732:39
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn layers_of<T: Layer>(&self, item: T) -> Vec<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/lib.rs:875:9
[INFO] [stdout]     |
[INFO] [stdout] 875 |         stack: &LayerStack,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/lib.rs:876:9
[INFO] [stdout]     |
[INFO] [stdout] 876 |         my_index: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/lib.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (v, delta) = D::decode_vec(buf, me.hwlen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (v, delta) = D::decode_vec(buf, me.plen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/bootp.rs:118:45
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn decode_dhcp_opts<D: Decoder>(buf: &[u8], me: &mut Dhcp) -> Option<(Vec<DhcpOption>, usize)> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     my_layer: &Dhcp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/protocols/bootp.rs:195:39
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BootpVendorData {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]    --> src/protocols/bootp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `the_vec`
[INFO] [stdout]    --> src/protocols/bootp.rs:224:14
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let (the_vec, _) = D::decode_vec(buf, 60)?;
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/bootp.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     my_layer: &Bootp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/dot1q.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/erspan.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/erspan.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/erspan.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/erspan.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/erspan.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[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/protocols/erspan.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut the_u16: u16 = u16::from(7 & me.cos.value()) << 13
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/erspan.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut the_u16: u16 = (u16::from(me.vlan.value()) & 0xfff) | u16::from(version & 0xf) << 12;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut the_u32: u32 = (u32::from(me.port_index.value()) & 0xfffff)
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:21:53
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/geneve.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/geneve.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/geneve.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/geneve.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/geneve.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/gre.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/gre.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/gre.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/gre.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[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/protocols/gre.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut the_u16: u16 = u16::from(me.chksum_present.value()) << 15
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/gre.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/protocols/ip.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn from(v: u8) -> Self {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/protocols/ip.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> IpFlags {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ip.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ip.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/ip.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:111:37
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:111:57
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:119:43
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:119:63
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/ip.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     me: &Ip,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vp`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_vp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[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/protocols/pcap_file.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     me: &mut pcapFileData,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/pcap_file.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let mut pkts = stk
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:59
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:57
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         stack: &LayerStack,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         my_index: usize,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/raw.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:58
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:38
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:58
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/tcp.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:44
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:64
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/tcp.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/tcp.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/tcp.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[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/protocols/tcp.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut tcp_hdr_len: u16 = 20;
[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/protocols/tcp.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:20:61
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/udp.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     me: &Udp,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:42:64
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/udp.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/udp.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/udp.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[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/protocols/udp.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut udp_hdr_len: u16 = 8;
[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/protocols/udp.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/udp.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/udp.rs:106:38
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/udp.rs:106:58
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/vxlan.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/vxlan.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/vxlan.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DhcpOption` is more private than the item `Dhcp::options`
[INFO] [stdout]    --> src/protocols/bootp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub options: Vec<DhcpOption>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Dhcp::options` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DhcpOption` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/protocols/bootp.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | enum DhcpOption {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `readme_test` is never used
[INFO] [stdout]  --> src/lib.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn readme_test() {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_crc` is never used
[INFO] [stdout]   --> src/protocols/ether.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Ethertype` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[nproto(registry(ETHERTYPE_LAYERS, Ethertype: u16))]
[INFO] [stdout]    |                                     ^^^^^^^^^ help: convert the identifier to snake case: `ethertype`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Proto` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[nproto(registry(IANA_LAYERS, Proto: u8))]
[INFO] [stdout]    |                                ^^^^^ help: convert the identifier to snake case: `proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Type` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, Type: u8))]
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, r#type: u8))]
[INFO] [stdout]    |                               ~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SrcPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[nproto(registry(UDP_SRC_PORT_APPS, SrcPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `src_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DstPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[nproto(registry(UDP_DST_PORT_APPS, DstPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `dst_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `VendorCookie` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:48:34
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[nproto(registry(BOOTP_VENDORS, VendorCookie: u32))]
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `vendor_cookie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Box<dyn Layer>` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:793:29
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 return layer.clone();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&dyn Layer` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:808:29
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 return layer.clone().downcast_ref().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:887:26
[INFO] [stdout]     |
[INFO] [stdout] 887 |                 data: buf.clone().to_vec(),
[INFO] [stdout]     |                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout] ...
[INFO] [stdout] 49 |     let encoded_icmp_header = if let Some(icmp) = stack.item_at(ICMP!(), my_index) {
[INFO] [stdout]    |                                                                 ------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]    --> src/protocols/ip.rs:5:24
[INFO] [stdout]     |
[INFO] [stdout] 5   |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout] ...
[INFO] [stdout] 152 |     let encoded_ip_header = if let Some(ip) = stack.item_at(IP!(), my_index) {
[INFO] [stdout]     |                                                             ----- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 74 |         0xa1b2c3d4 => PcapFileData!().decode_with_decoder::<BinaryBigEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 75 |         0xd4c3b2a1 => PcapFileData!().decode_with_decoder::<BinaryLittleEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 80 |     dec.map(|(lyr, delta)| (lyr.layers_of(PcapFileData!())[0].clone(), delta))
[INFO] [stdout]    |                                           --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         if let Some((stk, delta)) = PcapPacket!().decode_with_decoder::<D>(&buf[ci..]) {
[INFO] [stdout]     |                                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 106 |                 .layers_of(PcapPacket!())
[INFO] [stdout]     |                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]   --> src/protocols/tcp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout] ...
[INFO] [stdout] 77 |     let encoded_tcp_header = if let Some(tcp) = stack.item_at(TCP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/tcp.rs:96:41
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]   --> src/protocols/udp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     let encoded_udp_header = if let Some(udp) = stack.item_at(UDP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/udp.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex v1.10.1
[INFO] [stderr]    Compiling criterion v0.3.6
[INFO] [stderr]    Compiling scarust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(955..971) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(971..972) }, Ident { ident: "Ethertype", span: #0 bytes(973..982) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(982..983) }, Ident { ident: "u16", span: #0 bytes(984..987) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(955..971) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(973..982) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(984..987) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(1009..1020) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1020..1021) }, Ident { ident: "Proto", span: #0 bytes(1022..1027) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1027..1028) }, Ident { ident: "u8", span: #0 bytes(1029..1031) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(1009..1020) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(1022..1027) }
[INFO] [stdout] VAL: Ident { ident: "u8", span: #0 bytes(1029..1031) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(1053..1063) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1063..1064) }, Ident { ident: "Type", span: #0 bytes(1065..1069) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1069..1070) }, Ident { ident: "u8", span: #0 bytes(1071..1073) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(1053..1063) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(1065..1069) }
[INFO] [stdout] VAL: Ident { ident: "u8", span: #0 bytes(1071..1073) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(1095..1112) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1112..1113) }, Ident { ident: "SrcPort", span: #0 bytes(1114..1121) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1121..1122) }, Ident { ident: "u16", span: #0 bytes(1123..1126) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(1095..1112) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(1114..1121) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(1123..1126) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(1148..1165) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1165..1166) }, Ident { ident: "DstPort", span: #0 bytes(1167..1174) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1174..1175) }, Ident { ident: "u16", span: #0 bytes(1176..1179) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(1148..1165) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(1167..1174) }
[INFO] [stdout] VAL: Ident { ident: "u16", span: #0 bytes(1176..1179) }
[INFO] [stdout] REGISTRY: TokenStream [Ident { ident: "BOOTP_VENDORS", span: #0 bytes(1201..1214) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(1214..1215) }, Ident { ident: "VendorCookie", span: #0 bytes(1216..1228) }, Punct { ch: ':', spacing: Alone, span: #0 bytes(1228..1229) }, Ident { ident: "u32", span: #0 bytes(1230..1233) }]
[INFO] [stdout] PLACE: Ident { ident: "BOOTP_VENDORS", span: #0 bytes(1201..1214) }
[INFO] [stdout] KEY: Ident { ident: "VendorCookie", span: #0 bytes(1216..1228) }
[INFO] [stdout] VAL: Ident { ident: "u32", span: #0 bytes(1230..1233) }
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> examples/first.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::boxed::Box`
[INFO] [stdout]  --> examples/first.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> examples/first.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> examples/clean.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]   --> examples/first.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let ip = Ip::default();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ip` is never read
[INFO] [stdout]   --> examples/first.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mut ip = IP!(
[INFO] [stdout]    |             ^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layers2`
[INFO] [stdout]   --> examples/first.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let layers2 = layers.clone();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_udp`
[INFO] [stdout]    --> examples/first.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let my_udp = &layers[UDP!()];
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_udp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_src_ip`
[INFO] [stdout]    --> examples/first.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut my_src_ip = layers[IP!()].src.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_src_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(29726..29742) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(29742..29743) }, Ident { ident: "Ethertype", span: #0 bytes(29744..29753) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(29754..29755) }, Literal { kind: Integer, symbol: "0x0806", suffix: None, span: #0 bytes(29756..29762) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(29726..29742) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(29744..29753) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x0806 } }
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/first.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut my_src_ip = layers[IP!()].src.clone();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `testProto` should have an upper camel case name
[INFO] [stdout]   --> tests/test1.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct testProto {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scarust::*`
[INFO] [stdout]   --> tests/test1.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     use scarust::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `testProto` should have an upper camel case name
[INFO] [stdout]   --> tests/test_pcap.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct testProto {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scarust::protocols::bootp::Bootp`
[INFO] [stdout]    --> tests/test_pcap.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     use scarust::protocols::bootp::Bootp;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `testProto` should have an upper camel case name
[INFO] [stdout]   --> tests/test_file_pcap.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct testProto {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `testProto` should have an upper camel case name
[INFO] [stdout]   --> tests/test_encode.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct testProto {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "BOOTP_VENDORS", span: #0 bytes(40993..41006) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(41006..41007) }, Ident { ident: "VendorCookie", span: #0 bytes(41008..41020) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(41021..41022) }, Ident { ident: "DHCP_COOKIE_VAL", span: #0 bytes(41023..41038) }]
[INFO] [stdout] PLACE: Ident { ident: "BOOTP_VENDORS", span: #0 bytes(40993..41006) }
[INFO] [stdout] KEY: Ident { ident: "VendorCookie", span: #0 bytes(41008..41020) }
[INFO] [stdout] VAL: Expr::Path { attrs: [], qself: None, path: Path { leading_colon: None, segments: [PathSegment { ident: Ident { ident: "DHCP_COOKIE_VAL", span: #0 bytes(41023..41038) }, arguments: PathArguments::None }] } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42229..42246) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42246..42247) }, Ident { ident: "DstPort", span: #0 bytes(42248..42255) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42256..42257) }, Literal { kind: Integer, symbol: "67", suffix: None, span: #0 bytes(42258..42260) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42229..42246) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(42248..42255) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 67 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42282..42299) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42299..42300) }, Ident { ident: "SrcPort", span: #0 bytes(42301..42308) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42309..42310) }, Literal { kind: Integer, symbol: "67", suffix: None, span: #0 bytes(42311..42313) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42282..42299) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(42301..42308) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 67 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42335..42352) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42352..42353) }, Ident { ident: "DstPort", span: #0 bytes(42354..42361) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42362..42363) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(42364..42366) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(42335..42352) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(42354..42361) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 68 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42388..42405) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(42405..42406) }, Ident { ident: "SrcPort", span: #0 bytes(42407..42414) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(42415..42416) }, Literal { kind: Integer, symbol: "68", suffix: None, span: #0 bytes(42417..42419) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(42388..42405) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(42407..42414) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 68 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(45066..45082) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(45082..45083) }, Ident { ident: "Ethertype", span: #0 bytes(45084..45093) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(45094..45095) }, Literal { kind: Integer, symbol: "0x8100", suffix: None, span: #0 bytes(45096..45102) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(45066..45082) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(45084..45093) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x8100 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(46495..46511) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(46511..46512) }, Ident { ident: "Ethertype", span: #0 bytes(46513..46522) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(46523..46524) }, Literal { kind: Integer, symbol: "0x88be", suffix: None, span: #0 bytes(46525..46531) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(46495..46511) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(46513..46522) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x88be } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(50705..50721) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(50721..50722) }, Ident { ident: "Ethertype", span: #0 bytes(50723..50732) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(50733..50734) }, Literal { kind: Integer, symbol: "0x6558", suffix: None, span: #0 bytes(50735..50741) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(50705..50721) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(50723..50732) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x6558 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(51640..51657) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51657..51658) }, Ident { ident: "DstPort", span: #0 bytes(51659..51666) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51667..51668) }, Literal { kind: Integer, symbol: "6081", suffix: None, span: #0 bytes(51669..51673) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(51640..51657) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(51659..51666) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6081 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(51695..51712) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(51712..51713) }, Ident { ident: "SrcPort", span: #0 bytes(51714..51721) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(51722..51723) }, Literal { kind: Integer, symbol: "6081", suffix: None, span: #0 bytes(51724..51728) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(51695..51712) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(51714..51721) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6081 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(53549..53560) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(53560..53561) }, Ident { ident: "Proto", span: #0 bytes(53562..53567) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(53568..53569) }, Literal { kind: Integer, symbol: "47", suffix: None, span: #0 bytes(53570..53572) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(53549..53560) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(53562..53567) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 47 } }
[INFO] [stdout] warning: variable `num_blocks` is assigned to, but never used
[INFO] [stdout]   --> tests/test_file_pcap.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut num_blocks = 0;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_blocks` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_blocks` is assigned to, but never used
[INFO] [stdout]   --> tests/test_pcap.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut num_blocks = 0;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_num_blocks` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/test_file_pcap.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |     for i in 0..3 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> tests/test_pcap.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |         if let Some(t) = pn.get_layer_mut(TCP!()) {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> tests/test_pcap.rs:180:17
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut pn = p.clone();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_file_pcap.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_file_pcap.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_file_pcap.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test1.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test1.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test1.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test1.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout] ...
[INFO] [stdout] 28 |     let tp = Ether!() / IP!(src = "192.0.2.1") / UDP!() / TestProto!();
[INFO] [stdout]    |                                                           ------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test1.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout] ...
[INFO] [stdout] 99 |     let px = TestProto!().tos(2);
[INFO] [stdout]    |              ------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]    --> tests/test1.rs:11:24
[INFO] [stdout]     |
[INFO] [stdout] 11  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout] ...
[INFO] [stdout] 107 |     assert_ne!(fx[TestProto!()].mac2, Value::Random);
[INFO] [stdout]     |                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_pcap.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut pn = p.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> tests/test_pcap.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |         let mut pn = p.clone();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_pcap.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         let mut pn = p.clone();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_pcap.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_pcap.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]   --> tests/test_pcap.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(57909..57920) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(57920..57921) }, Ident { ident: "Proto", span: #0 bytes(57922..57927) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(57928..57929) }, Literal { kind: Integer, symbol: "1", suffix: None, span: #0 bytes(57930..57931) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(57909..57920) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(57922..57927) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 1 } }
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]  --> tests/test_encode.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]  --> tests/test_encode.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__testProto` should have a snake case name
[INFO] [stdout]  --> tests/test_encode.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(58270..58280) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(58280..58281) }, Ident { ident: "Type", span: #0 bytes(58282..58286) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(58287..58288) }, Literal { kind: Integer, symbol: "8", suffix: None, span: #0 bytes(58289..58290) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(58270..58280) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(58282..58286) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 8 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ICMP_TYPES", span: #0 bytes(58501..58511) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(58511..58512) }, Ident { ident: "Type", span: #0 bytes(58513..58517) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(58518..58519) }, Literal { kind: Integer, symbol: "0", suffix: None, span: #0 bytes(58520..58521) }]
[INFO] [stdout] PLACE: Ident { ident: "ICMP_TYPES", span: #0 bytes(58501..58511) }
[INFO] [stdout] KEY: Ident { ident: "Type", span: #0 bytes(58513..58517) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(59512..59528) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(59528..59529) }, Ident { ident: "Ethertype", span: #0 bytes(59530..59539) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(59540..59541) }, Literal { kind: Integer, symbol: "0x800", suffix: None, span: #0 bytes(59542..59547) }]
[INFO] [stdout] PLACE: Ident { ident: "ETHERTYPE_LAYERS", span: #0 bytes(59512..59528) }
[INFO] [stdout] KEY: Ident { ident: "Ethertype", span: #0 bytes(59530..59539) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 0x800 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(59569..59580) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(59580..59581) }, Ident { ident: "Proto", span: #0 bytes(59582..59587) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(59588..59589) }, Literal { kind: Integer, symbol: "4", suffix: None, span: #0 bytes(59590..59591) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(59569..59580) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(59582..59587) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(69193..69204) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(69204..69205) }, Ident { ident: "Proto", span: #0 bytes(69206..69211) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(69212..69213) }, Literal { kind: Integer, symbol: "6", suffix: None, span: #0 bytes(69214..69215) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(69193..69204) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(69206..69211) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 6 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "IANA_LAYERS", span: #0 bytes(73206..73217) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(73217..73218) }, Ident { ident: "Proto", span: #0 bytes(73219..73224) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(73225..73226) }, Literal { kind: Integer, symbol: "17", suffix: None, span: #0 bytes(73227..73229) }]
[INFO] [stdout] PLACE: Ident { ident: "IANA_LAYERS", span: #0 bytes(73206..73217) }
[INFO] [stdout] KEY: Ident { ident: "Proto", span: #0 bytes(73219..73224) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 17 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(76610..76627) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(76627..76628) }, Ident { ident: "DstPort", span: #0 bytes(76629..76636) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(76637..76638) }, Literal { kind: Integer, symbol: "4789", suffix: None, span: #0 bytes(76639..76643) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_DST_PORT_APPS", span: #0 bytes(76610..76627) }
[INFO] [stdout] KEY: Ident { ident: "DstPort", span: #0 bytes(76629..76636) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4789 } }
[INFO] [stdout] REGISTER: TokenStream [Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(76665..76682) }, Punct { ch: ',', spacing: Alone, span: #0 bytes(76682..76683) }, Ident { ident: "SrcPort", span: #0 bytes(76684..76691) }, Punct { ch: '=', spacing: Alone, span: #0 bytes(76692..76693) }, Literal { kind: Integer, symbol: "4789", suffix: None, span: #0 bytes(76694..76698) }]
[INFO] [stdout] PLACE: Ident { ident: "UDP_SRC_PORT_APPS", span: #0 bytes(76665..76682) }
[INFO] [stdout] KEY: Ident { ident: "SrcPort", span: #0 bytes(76684..76691) }
[INFO] [stdout] VAL: Expr::Lit { attrs: [], lit: Lit::Int { token: 4789 } }
[INFO] [stdout] warning: unused import: `serde::ser::SerializeTuple`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::ser::SerializeTuple;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `protocolRegistriesSentinel` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct protocolRegistriesSentinel;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProtocolRegistriesSentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/arp.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dot1Q` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct dot1Q {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Dot1q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `erspan` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/erspan.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct erspan {
[INFO] [stdout]   |            ^^^^^^ help: convert the identifier to upper camel case: `Erspan`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ether` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/ether.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ether {
[INFO] [stdout]   |            ^^^^^ help: convert the identifier to upper camel case: `Ether`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echo` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct echo {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `Echo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `echoReply` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/icmp.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct echoReply {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `EchoReply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/icmp.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]    --> src/protocols/ip.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     use std::convert::TryInto;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFile` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct pcapFile {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `PcapFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapFileData` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct pcapFileData {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapFileData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `pcapPacket` should have an upper camel case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct pcapPacket {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapPacket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `raw` should have an upper camel case name
[INFO] [stdout]  --> src/protocols/raw.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct raw {
[INFO] [stdout]   |            ^^^ help: convert the identifier to upper camel case: `Raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/tcp.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/protocols/udp.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use std::convert::TryInto;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/lib.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 514 |                 panic!("TBD1");
[INFO] [stdout]     |                 -------------- any code following this expression is unreachable
[INFO] [stdout] 515 |                 formatter.write_str("Ipv4Address")
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]   --> tests/test_gre.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (x, len) = x.unwrap();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryFrom`
[INFO] [stdout]  --> examples/pcap2json.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::TryFrom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/lib.rs:189:25
[INFO] [stdout]     |
[INFO] [stdout] 189 |             Value::Func(f) => panic!("Serializing functions is not supported"),
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Err(e) => panic!("Could not parse!"),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:395:35
[INFO] [stdout]     |
[INFO] [stdout] 395 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `formatter`
[INFO] [stdout]    --> src/lib.rs:513:33
[INFO] [stdout]     |
[INFO] [stdout] 513 |             fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:517:35
[INFO] [stdout]     |
[INFO] [stdout] 517 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/lib.rs:699:31
[INFO] [stdout]     |
[INFO] [stdout] 699 |     pub fn g<T: Layer>(&self, idx: T) -> &T {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:703:37
[INFO] [stdout]     |
[INFO] [stdout] 703 |     pub fn item_at<T: Layer>(&self, item: T, idx: usize) -> Option<&T> {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:707:39
[INFO] [stdout]     |
[INFO] [stdout] 707 |     pub fn get_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:715:49
[INFO] [stdout]     |
[INFO] [stdout] 715 |     pub fn get_innermost_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:723:47
[INFO] [stdout]     |
[INFO] [stdout] 723 |     pub fn get_layer_mut<T: Layer>(&mut self, item: T) -> Option<&mut T> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/lib.rs:732:39
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn layers_of<T: Layer>(&self, item: T) -> Vec<&T> {
[INFO] [stdout]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/lib.rs:875:9
[INFO] [stdout]     |
[INFO] [stdout] 875 |         stack: &LayerStack,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/lib.rs:876:9
[INFO] [stdout]     |
[INFO] [stdout] 876 |         my_index: usize,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/lib.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (v, delta) = D::decode_vec(buf, me.hwlen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]   --> src/protocols/arp.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let (v, delta) = D::decode_vec(buf, me.plen.value() as usize)?;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/protocols/arp.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/arp.rs:235:17
[INFO] [stdout]     |
[INFO] [stdout] 235 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/bootp.rs:118:45
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn decode_dhcp_opts<D: Decoder>(buf: &[u8], me: &mut Dhcp) -> Option<(Vec<DhcpOption>, usize)> {
[INFO] [stdout]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     my_layer: &Dhcp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/protocols/bootp.rs:195:39
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BootpVendorData {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]    --> src/protocols/bootp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `the_vec`
[INFO] [stdout]    --> src/protocols/bootp.rs:224:14
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let (the_vec, _) = D::decode_vec(buf, 60)?;
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/bootp.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     let mut ci = 0;
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_layer`
[INFO] [stdout]    --> src/protocols/bootp.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     my_layer: &Bootp,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/bootp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/bootp.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/bootp.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/dot1q.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/dot1q.rs:43:57
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]    |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/erspan.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/erspan.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/erspan.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/erspan.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/erspan.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut out: Vec<u8> = vec![];
[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/protocols/erspan.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut the_u16: u16 = u16::from(7 & me.cos.value()) << 13
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/erspan.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/erspan.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut the_u16: u16 = (u16::from(me.vlan.value()) & 0xfff) | u16::from(version & 0xf) << 12;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/erspan.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/erspan.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     my_index: usize,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]    --> src/protocols/erspan.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/erspan.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut the_u32: u32 = (u32::from(me.port_index.value()) & 0xfffff)
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:21:33
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:21:53
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/ether.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ether.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ether.rs:24:52
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/geneve.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/geneve.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/geneve.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/geneve.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/geneve.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/gre.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/gre.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/gre.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/gre.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut out: Vec<u8> = vec![];
[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/protocols/gre.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let mut the_u16: u16 = u16::from(me.chksum_present.value()) << 15
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/gre.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/gre.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:45
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/icmp.rs:34:65
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/protocols/ip.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn from(v: u8) -> Self {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/protocols/ip.rs:69:39
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> IpFlags {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/protocols/ip.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/ip.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/ip.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/ip.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:111:37
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:111:57
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:115:21
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:115:40
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:115:60
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/ip.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:119:43
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/ip.rs:119:63
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]    --> src/protocols/ip.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     me: &Ip,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/ip.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     stack: &LayerStack,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vp`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_vp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/pcap_file.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[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/protocols/pcap_file.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/pcap_file.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     me: &mut pcapFileData,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/pcap_file.rs:105:17
[INFO] [stdout]     |
[INFO] [stdout] 105 |             let mut pkts = stk
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:119:59
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stdout]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:18
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:37
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/pcap_file.rs:137:57
[INFO] [stdout]     |
[INFO] [stdout] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:21:40
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stdout]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/raw.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         stack: &LayerStack,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/raw.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         my_index: usize,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/raw.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:33:58
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:38
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:37:58
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/tcp.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:44
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/tcp.rs:62:64
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/tcp.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/tcp.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/tcp.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let mut sum: u32 = 0;
[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/protocols/tcp.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut tcp_hdr_len: u16 = 20;
[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/protocols/tcp.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:20:61
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `me`
[INFO] [stdout]   --> src/protocols/udp.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     me: &Udp,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]   --> src/protocols/udp.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/udp.rs:42:44
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/udp.rs:42:64
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> src/protocols/udp.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ph`
[INFO] [stdout]   --> src/protocols/udp.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/udp.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut sum: u32 = 0;
[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/protocols/udp.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let mut udp_hdr_len: u16 = 8;
[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/protocols/udp.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/protocols/udp.rs:106:19
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]    --> src/protocols/udp.rs:106:38
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]    --> src/protocols/udp.rs:106:58
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stdout]     |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stack`
[INFO] [stdout]   --> src/protocols/vxlan.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     stack: &LayerStack,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_index`
[INFO] [stdout]   --> src/protocols/vxlan.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     my_index: usize,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded_layers`
[INFO] [stdout]   --> src/protocols/vxlan.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     encoded_layers: &EncodingVecVec,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ci`
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocols/vxlan.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut ci = 0;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DhcpOption` is more private than the item `Dhcp::options`
[INFO] [stdout]    --> src/protocols/bootp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub options: Vec<DhcpOption>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Dhcp::options` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DhcpOption` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/protocols/bootp.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | enum DhcpOption {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `readme_test` is never used
[INFO] [stdout]  --> src/lib.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn readme_test() {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_crc` is never used
[INFO] [stdout]   --> src/protocols/ether.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Ethertype` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:43:37
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[nproto(registry(ETHERTYPE_LAYERS, Ethertype: u16))]
[INFO] [stdout]    |                                     ^^^^^^^^^ help: convert the identifier to snake case: `ethertype`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Proto` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[nproto(registry(IANA_LAYERS, Proto: u8))]
[INFO] [stdout]    |                                ^^^^^ help: convert the identifier to snake case: `proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Type` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, Type: u8))]
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[nproto(registry(ICMP_TYPES, r#type: u8))]
[INFO] [stdout]    |                               ~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SrcPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[nproto(registry(UDP_SRC_PORT_APPS, SrcPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `src_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DstPort` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:47:38
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[nproto(registry(UDP_DST_PORT_APPS, DstPort: u16))]
[INFO] [stdout]    |                                      ^^^^^^^ help: convert the identifier to snake case: `dst_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `VendorCookie` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:48:34
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[nproto(registry(BOOTP_VENDORS, VendorCookie: u32))]
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `vendor_cookie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Box<dyn Layer>` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:793:29
[INFO] [stdout]     |
[INFO] [stdout] 793 |                 return layer.clone();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&dyn Layer` instead of cloning the inner type
[INFO] [stdout]    --> src/lib.rs:808:29
[INFO] [stdout]     |
[INFO] [stdout] 808 |                 return layer.clone().downcast_ref().unwrap();
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lib.rs:887:26
[INFO] [stdout]     |
[INFO] [stdout] 887 |                 data: buf.clone().to_vec(),
[INFO] [stdout]     |                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/lib.rs:850:1
[INFO] [stdout]     |
[INFO] [stdout] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stdout] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stdout]     |           ----- `Layer` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Arp` should have a snake case name
[INFO] [stdout]  --> src/protocols/arp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Dhcp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Bootp` should have a snake case name
[INFO] [stdout]    --> src/protocols/bootp.rs:156:10
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__dot1Q` should have a snake case name
[INFO] [stdout]  --> src/protocols/dot1q.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Geneve` should have a snake case name
[INFO] [stdout]  --> src/protocols/geneve.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Gre` should have a snake case name
[INFO] [stdout]   --> src/protocols/gre.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]  --> src/protocols/icmp.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__echoReply` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Icmp` should have a snake case name
[INFO] [stdout]   --> src/protocols/icmp.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stdout] ...
[INFO] [stdout] 49 |     let encoded_icmp_header = if let Some(icmp) = stack.item_at(ICMP!(), my_index) {
[INFO] [stdout]    |                                                                 ------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]  --> src/protocols/ip.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]    --> src/protocols/ip.rs:5:24
[INFO] [stdout]     |
[INFO] [stdout] 5   |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout] ...
[INFO] [stdout] 152 |     let encoded_ip_header = if let Some(ip) = stack.item_at(IP!(), my_index) {
[INFO] [stdout]     |                                                             ----- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFile` should have a snake case name
[INFO] [stdout]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 74 |         0xa1b2c3d4 => PcapFileData!().decode_with_decoder::<BinaryBigEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 75 |         0xd4c3b2a1 => PcapFileData!().decode_with_decoder::<BinaryLittleEndian>(buf),
[INFO] [stdout]    |                       --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stdout]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stdout] ...
[INFO] [stdout] 80 |     dec.map(|(lyr, delta)| (lyr.layers_of(PcapFileData!())[0].clone(), delta))
[INFO] [stdout]    |                                           --------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 104 |         if let Some((stk, delta)) = PcapPacket!().decode_with_decoder::<D>(&buf[ci..]) {
[INFO] [stdout]     |                                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stdout]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stdout]     |
[INFO] [stdout] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stdout] ...
[INFO] [stdout] 106 |                 .layers_of(PcapPacket!())
[INFO] [stdout]     |                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]  --> src/protocols/tcp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Tcp` should have a snake case name
[INFO] [stdout]   --> src/protocols/tcp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stdout] ...
[INFO] [stdout] 77 |     let encoded_tcp_header = if let Some(tcp) = stack.item_at(TCP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/tcp.rs:96:41
[INFO] [stdout]    |
[INFO] [stdout] 96 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]  --> src/protocols/udp.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Udp` should have a snake case name
[INFO] [stdout]   --> src/protocols/udp.rs:5:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stdout] ...
[INFO] [stdout] 57 |     let encoded_udp_header = if let Some(udp) = stack.item_at(UDP!(), my_index) {
[INFO] [stdout]    |                                                               ------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Ip` should have a snake case name
[INFO] [stdout]   --> src/protocols/ip.rs:5:24
[INFO] [stdout]    |
[INFO] [stdout] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/protocols/udp.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stdout]    |                                         ----- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `__Vxlan` should have a snake case name
[INFO] [stdout]  --> src/protocols/vxlan.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "fdadbfa9144b93f44159034aa9376924a8bf9b01f03a72bcffdd6e7cc981502e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdadbfa9144b93f44159034aa9376924a8bf9b01f03a72bcffdd6e7cc981502e", kill_on_drop: false }`
[INFO] [stdout] fdadbfa9144b93f44159034aa9376924a8bf9b01f03a72bcffdd6e7cc981502e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e6c70830eb2947827e413e97ceae8f3b7ee49601a7b180112ec65d329212f44d
[INFO] running `Command { std: "docker" "start" "-a" "e6c70830eb2947827e413e97ceae8f3b7ee49601a7b180112ec65d329212f44d", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `proc_macro::Literal`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use proc_macro::Literal;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Index`, `parse_macro_input`, and `parse_quote`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     parse_macro_input, parse_quote, Data, DeriveInput, Fields, GenericParam, Generics, Index, Path,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^                                                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Punct`, `Spacing`, and `TokenTree`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:58:19
[INFO] [stderr]    |
[INFO] [stderr] 58 | use proc_macro2::{Punct, Spacing, Span, TokenStream, TokenTree};
[INFO] [stderr]    |                   ^^^^^  ^^^^^^^                     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TokenStreamExt`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 | use quote::{ToTokens, TokenStreamExt};
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:619:9
[INFO] [stderr]     |
[INFO] [stderr] 619 |     use std::str::FromStr;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ItemStruct` and `parse_quote`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:620:30
[INFO] [stderr]     |
[INFO] [stderr] 620 |     use syn::{parenthesized, parse_quote, token, ItemStruct, LitInt, Token};
[INFO] [stderr]     |                              ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ItemStruct`, `braced`, and `parse_quote`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1152:33
[INFO] [stderr]      |
[INFO] [stderr] 1152 | ...                   braced, parenthesized, parse_quote, token, ItemStruct, LitInt,
[INFO] [stderr]      |                       ^^^^^^                 ^^^^^^^^^^^         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 82 |         let conv = self.0.conv.clone();
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `get_def_X`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set_X`
[INFO] [stderr]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:161:13
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let conv = self.0.conv.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `get_def_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> scarust-derive/src/lib.rs:138:59
[INFO] [stderr]     |
[INFO] [stderr] 138 |         fn insert_double_colon_if_second_is_angle_bracket(mut tokens: TokenStream) -> TokenStream {
[INFO] [stderr]     |                                                           ----^^^^^^
[INFO] [stderr]     |                                                           |
[INFO] [stderr]     |                                                           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:219:13
[INFO] [stderr]     |
[INFO] [stderr] 219 |         let conv = self.0.conv.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fixed_typ`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `get_def_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:255:13
[INFO] [stderr]     |
[INFO] [stderr] 255 |         let conv = self.0.conv.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fixed_typ`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:257:13
[INFO] [stderr]     |
[INFO] [stderr] 257 |         let fixed_typ: TokenStream = if self.0.is_value {
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixed_typ`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:278:13
[INFO] [stderr]     |
[INFO] [stderr] 278 |         let conv = self.0.conv.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `get_def_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_def_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set_X`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stderr]     |
[INFO] [stderr] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_set_X`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conv`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:398:13
[INFO] [stderr]     |
[INFO] [stderr] 398 |         let conv = self.0.conv.clone();
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_conv`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nproto_decoder`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:629:13
[INFO] [stderr]     |
[INFO] [stderr] 629 |     let mut nproto_decoder = default_decoder;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nproto_decoder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `comma_token`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:659:25
[INFO] [stderr]     |
[INFO] [stderr] 659 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:662:25
[INFO] [stderr]     |
[INFO] [stderr] 662 |                     let eq_token: Option<Token![=]> = content.parse()?;
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `comma_token`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:681:25
[INFO] [stderr]     |
[INFO] [stderr] 681 |                     let comma_token: Option<Token![,]> = content.parse()?;
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comma_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:684:25
[INFO] [stderr]     |
[INFO] [stderr] 684 |                     let eq_token: Option<Token![:]> = content.parse()?;
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:687:25
[INFO] [stderr]     |
[INFO] [stderr] 687 |                     let name = name.clone();
[INFO] [stderr]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:720:29
[INFO] [stderr]     |
[INFO] [stderr] 720 |                         let n: usize = lit.base10_parse()?;
[INFO] [stderr]     |                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> scarust-derive/src/lib.rs:629:9
[INFO] [stderr]     |
[INFO] [stderr] 629 |     let mut nproto_decoder = default_decoder;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> scarust-derive/src/lib.rs:816:9
[INFO] [stderr]     |
[INFO] [stderr] 816 |     let mut tokens = quote! {
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> scarust-derive/src/lib.rs:967:9
[INFO] [stderr]     |
[INFO] [stderr] 967 |     let mut tokens = quote! {
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `type_param`
[INFO] [stderr]    --> scarust-derive/src/lib.rs:988:43
[INFO] [stderr]     |
[INFO] [stderr] 988 |         if let GenericParam::Type(ref mut type_param) = *param {
[INFO] [stderr]     |                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fields`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1056:37
[INFO] [stderr]      |
[INFO] [stderr] 1056 |                 Fields::Unnamed(ref fields) => {
[INFO] [stderr]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fields`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1352:37
[INFO] [stderr]      |
[INFO] [stderr] 1352 |                 Fields::Unnamed(ref fields) => {
[INFO] [stderr]      |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1173:45
[INFO] [stderr]      |
[INFO] [stderr] 1173 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1181:45
[INFO] [stderr]      |
[INFO] [stderr] 1181 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1188:45
[INFO] [stderr]      |
[INFO] [stderr] 1188 | ...                   let eq_token: Option<Token![:]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1190:45
[INFO] [stderr]      |
[INFO] [stderr] 1190 | ...                   let eq_token: Option<Token![=>]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1198:45
[INFO] [stderr]      |
[INFO] [stderr] 1198 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1206:45
[INFO] [stderr]      |
[INFO] [stderr] 1206 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1214:45
[INFO] [stderr]      |
[INFO] [stderr] 1214 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eq_token`
[INFO] [stderr]     --> scarust-derive/src/lib.rs:1222:45
[INFO] [stderr]      |
[INFO] [stderr] 1222 | ...                   let eq_token: Option<Token![=]> = meta.input.parse()?;
[INFO] [stderr]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eq_token`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `has_additional_data` is assigned to, but never used
[INFO] [stderr]   --> scarust-derive/src/from_repr.rs:73:13
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let mut has_additional_data = false;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_has_additional_data` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_additional_data` is never read
[INFO] [stderr]   --> scarust-derive/src/from_repr.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 has_additional_data = true;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `has_additional_data` is never read
[INFO] [stderr]   --> scarust-derive/src/from_repr.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 has_additional_data = true;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: field `auto` is never read
[INFO] [stderr]   --> scarust-derive/src/lib.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct NetprotoStructField {
[INFO] [stderr]    |        ------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 33 |     auto: Option<TokenStream>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NetprotoStructField` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]   --> scarust-derive/src/lib.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]    |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]   --> scarust-derive/src/lib.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:171:13
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:228:13
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:229:13
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:264:13
[INFO] [stderr]     |
[INFO] [stderr] 264 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:265:13
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:288:13
[INFO] [stderr]     |
[INFO] [stderr] 288 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `get_def_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:466:13
[INFO] [stderr]     |
[INFO] [stderr] 466 |         let get_def_X = Ident::new(&format!("get_default_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_def_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `set_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:467:13
[INFO] [stderr]     |
[INFO] [stderr] 467 |         let set_X = Ident::new(&format!("set_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `modify_X` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:468:13
[INFO] [stderr]     |
[INFO] [stderr] 468 |         let modify_X = Ident::new(&format!("modify_{}", &name), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `modify_x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `layers_by_TYPEID` should have a snake case name
[INFO] [stderr]    --> scarust-derive/src/lib.rs:580:13
[INFO] [stderr]     |
[INFO] [stderr] 580 |         let layers_by_TYPEID = Ident::new(&format!("{}_BY_TYPEID", &self.place), Span::call_site());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `layers_by_typeid`
[INFO] [stderr] 
[INFO] [stderr] warning: `scarust-derive` (lib) generated 64 warnings (run `cargo fix --lib -p scarust-derive` to apply 11 suggestions)
[INFO] [stderr] warning: unused import: `serde::ser::SerializeTuple`
[INFO] [stderr]  --> src/lib.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use serde::ser::SerializeTuple;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]   --> src/lib.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use std::ops::Deref;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `protocolRegistriesSentinel` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | struct protocolRegistriesSentinel;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProtocolRegistriesSentinel`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/arp.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/arp.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `dot1Q` should have an upper camel case name
[INFO] [stderr]  --> src/protocols/dot1q.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct dot1Q {
[INFO] [stderr]   |            ^^^^^ help: convert the identifier to upper camel case: `Dot1q`
[INFO] [stderr] 
[INFO] [stderr] warning: type `erspan` should have an upper camel case name
[INFO] [stderr]  --> src/protocols/erspan.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct erspan {
[INFO] [stderr]   |            ^^^^^^ help: convert the identifier to upper camel case: `Erspan`
[INFO] [stderr] 
[INFO] [stderr] warning: type `ether` should have an upper camel case name
[INFO] [stderr]  --> src/protocols/ether.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct ether {
[INFO] [stderr]   |            ^^^^^ help: convert the identifier to upper camel case: `Ether`
[INFO] [stderr] 
[INFO] [stderr] warning: type `echo` should have an upper camel case name
[INFO] [stderr]   --> src/protocols/icmp.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct echo {
[INFO] [stderr]    |            ^^^^ help: convert the identifier to upper camel case: `Echo`
[INFO] [stderr] 
[INFO] [stderr] warning: type `echoReply` should have an upper camel case name
[INFO] [stderr]   --> src/protocols/icmp.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct echoReply {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `EchoReply`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/icmp.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 44 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]    --> src/protocols/ip.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     use std::convert::TryInto;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `pcapFile` should have an upper camel case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct pcapFile {
[INFO] [stderr]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `PcapFile`
[INFO] [stderr] 
[INFO] [stderr] warning: type `pcapFileData` should have an upper camel case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct pcapFileData {
[INFO] [stderr]    |            ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapFileData`
[INFO] [stderr] 
[INFO] [stderr] warning: type `pcapPacket` should have an upper camel case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct pcapPacket {
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `PcapPacket`
[INFO] [stderr] 
[INFO] [stderr] warning: type `raw` should have an upper camel case name
[INFO] [stderr]  --> src/protocols/raw.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct raw {
[INFO] [stderr]   |            ^^^ help: convert the identifier to upper camel case: `Raw`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/tcp.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/tcp.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/protocols/udp.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |     use std::convert::TryInto;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> src/lib.rs:515:17
[INFO] [stderr]     |
[INFO] [stderr] 514 |                 panic!("TBD1");
[INFO] [stderr]     |                 -------------- any code following this expression is unreachable
[INFO] [stderr] 515 |                 formatter.write_str("Ipv4Address")
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]    --> src/lib.rs:189:25
[INFO] [stderr]     |
[INFO] [stderr] 189 |             Value::Func(f) => panic!("Serializing functions is not supported"),
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/lib.rs:346:17
[INFO] [stderr]     |
[INFO] [stderr] 346 |             Err(e) => panic!("Could not parse!"),
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/lib.rs:395:35
[INFO] [stderr]     |
[INFO] [stderr] 395 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stderr]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `formatter`
[INFO] [stderr]    --> src/lib.rs:513:33
[INFO] [stderr]     |
[INFO] [stderr] 513 |             fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
[INFO] [stderr]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_formatter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/lib.rs:517:35
[INFO] [stderr]     |
[INFO] [stderr] 517 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stderr]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/lib.rs:699:31
[INFO] [stderr]     |
[INFO] [stderr] 699 |     pub fn g<T: Layer>(&self, idx: T) -> &T {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/lib.rs:703:37
[INFO] [stderr]     |
[INFO] [stderr] 703 |     pub fn item_at<T: Layer>(&self, item: T, idx: usize) -> Option<&T> {
[INFO] [stderr]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/lib.rs:707:39
[INFO] [stderr]     |
[INFO] [stderr] 707 |     pub fn get_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stderr]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/lib.rs:715:49
[INFO] [stderr]     |
[INFO] [stderr] 715 |     pub fn get_innermost_layer<T: Layer>(&self, item: T) -> Option<&T> {
[INFO] [stderr]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/lib.rs:723:47
[INFO] [stderr]     |
[INFO] [stderr] 723 |     pub fn get_layer_mut<T: Layer>(&mut self, item: T) -> Option<&mut T> {
[INFO] [stderr]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/lib.rs:732:39
[INFO] [stderr]     |
[INFO] [stderr] 732 |     pub fn layers_of<T: Layer>(&self, item: T) -> Vec<&T> {
[INFO] [stderr]     |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/lib.rs:875:9
[INFO] [stderr]     |
[INFO] [stderr] 875 |         stack: &LayerStack,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/lib.rs:876:9
[INFO] [stderr]     |
[INFO] [stderr] 876 |         my_index: usize,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]    --> src/lib.rs:877:9
[INFO] [stderr]     |
[INFO] [stderr] 877 |         encoded_layers: &EncodingVecVec,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta`
[INFO] [stderr]   --> src/protocols/arp.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let (v, delta) = D::decode_vec(buf, me.hwlen.value() as usize)?;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta`
[INFO] [stderr]   --> src/protocols/arp.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let (v, delta) = D::decode_vec(buf, me.plen.value() as usize)?;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/protocols/arp.rs:109:35
[INFO] [stderr]     |
[INFO] [stderr] 109 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stderr]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/protocols/arp.rs:140:17
[INFO] [stderr]     |
[INFO] [stderr] 140 |             Err(e) => {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/protocols/arp.rs:200:35
[INFO] [stderr]     |
[INFO] [stderr] 200 |             fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
[INFO] [stderr]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/protocols/arp.rs:235:17
[INFO] [stderr]     |
[INFO] [stderr] 235 |             Err(e) => {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `me`
[INFO] [stderr]    --> src/protocols/bootp.rs:118:45
[INFO] [stderr]     |
[INFO] [stderr] 118 | fn decode_dhcp_opts<D: Decoder>(buf: &[u8], me: &mut Dhcp) -> Option<(Vec<DhcpOption>, usize)> {
[INFO] [stderr]     |                                             ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_layer`
[INFO] [stderr]    --> src/protocols/bootp.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 147 |     my_layer: &Dhcp,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/bootp.rs:148:5
[INFO] [stderr]     |
[INFO] [stderr] 148 |     stack: &LayerStack,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/bootp.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 |     my_index: usize,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]    --> src/protocols/bootp.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/protocols/bootp.rs:195:39
[INFO] [stderr]     |
[INFO] [stderr] 195 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BootpVendorData {
[INFO] [stderr]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]    --> src/protocols/bootp.rs:220:13
[INFO] [stderr]     |
[INFO] [stderr] 220 |     let mut ci = 0;
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `the_vec`
[INFO] [stderr]    --> src/protocols/bootp.rs:224:14
[INFO] [stderr]     |
[INFO] [stderr] 224 |         let (the_vec, _) = D::decode_vec(buf, 60)?;
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/protocols/bootp.rs:220:9
[INFO] [stderr]     |
[INFO] [stderr] 220 |     let mut ci = 0;
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_layer`
[INFO] [stderr]    --> src/protocols/bootp.rs:232:5
[INFO] [stderr]     |
[INFO] [stderr] 232 |     my_layer: &Bootp,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/bootp.rs:233:5
[INFO] [stderr]     |
[INFO] [stderr] 233 |     stack: &LayerStack,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/bootp.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 |     my_index: usize,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]    --> src/protocols/bootp.rs:235:5
[INFO] [stderr]     |
[INFO] [stderr] 235 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/dot1q.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/dot1q.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/dot1q.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/dot1q.rs:43:18
[INFO] [stderr]    |
[INFO] [stderr] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/dot1q.rs:43:37
[INFO] [stderr]    |
[INFO] [stderr] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/dot1q.rs:43:57
[INFO] [stderr]    |
[INFO] [stderr] 43 | fn fill_tci_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]    |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/protocols/erspan.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out`
[INFO] [stderr]   --> src/protocols/erspan.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/erspan.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 82 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/erspan.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/erspan.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/erspan.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/erspan.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut the_u16: u16 = u16::from(7 & me.cos.value()) << 13
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]   --> src/protocols/erspan.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut ci = 0;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/erspan.rs:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |     let mut ci = 0;
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/erspan.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 119 |     stack: &LayerStack,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/erspan.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 |     my_index: usize,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]    --> src/protocols/erspan.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/protocols/erspan.rs:124:9
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let mut the_u16: u16 = (u16::from(me.vlan.value()) & 0xfff) | u16::from(version & 0xf) << 12;
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/erspan.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     stack: &LayerStack,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/erspan.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     my_index: usize,
[INFO] [stderr]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]    --> src/protocols/erspan.rs:139:5
[INFO] [stderr]     |
[INFO] [stderr] 139 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/protocols/erspan.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     let mut the_u32: u32 = (u32::from(me.port_index.value()) & 0xfffff)
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/ether.rs:21:14
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stderr]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/ether.rs:21:33
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stderr]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/ether.rs:21:53
[INFO] [stderr]    |
[INFO] [stderr] 21 | fn fill_dmac(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> MacAddr {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/ether.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/ether.rs:24:32
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stderr]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/ether.rs:24:52
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stderr]    |                                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/geneve.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/geneve.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/geneve.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]   --> src/protocols/geneve.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut ci = 0;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/geneve.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let mut ci = 0;
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out`
[INFO] [stderr]   --> src/protocols/gre.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/gre.rs:68:5
[INFO] [stderr]    |
[INFO] [stderr] 68 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/gre.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 69 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/gre.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/gre.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/gre.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let mut the_u16: u16 = u16::from(me.chksum_present.value()) << 15
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]   --> src/protocols/gre.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let mut ci = 0;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/gre.rs:92:9
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let mut ci = 0;
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/icmp.rs:34:26
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/icmp.rs:34:45
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/icmp.rs:34:65
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn fill_icmp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]   --> src/protocols/ip.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |     fn from(v: u8) -> Self {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/protocols/ip.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]   --> src/protocols/ip.rs:69:39
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> IpFlags {
[INFO] [stderr]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/protocols/ip.rs:83:17
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn from_str(s: &str) -> Result<Self, Self::Err> {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/ip.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/ip.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/ip.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]    --> src/protocols/ip.rs:111:18
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/ip.rs:111:37
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/ip.rs:111:57
[INFO] [stderr]     |
[INFO] [stderr] 111 | fn fill_ihl_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u8> {
[INFO] [stderr]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]    --> src/protocols/ip.rs:115:21
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/ip.rs:115:40
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/ip.rs:115:60
[INFO] [stderr]     |
[INFO] [stderr] 115 | fn fill_ip_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]    --> src/protocols/ip.rs:119:24
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/ip.rs:119:43
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/ip.rs:119:63
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn fill_ip_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                                               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `me`
[INFO] [stderr]    --> src/protocols/ip.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     me: &Ip,
[INFO] [stderr]     |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/ip.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     stack: &LayerStack,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out`
[INFO] [stderr]   --> src/protocols/pcap_file.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/pcap_file.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut out: Vec<u8> = vec![];
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vp`
[INFO] [stderr]   --> src/protocols/pcap_file.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_vp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]   --> src/protocols/pcap_file.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |     let mut ci = 0;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/pcap_file.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let mut vp: Vec<pcapPacket> = vec![];
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/pcap_file.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 71 |     let mut ci = 0;
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `me`
[INFO] [stderr]   --> src/protocols/pcap_file.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     me: &mut pcapFileData,
[INFO] [stderr]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/protocols/pcap_file.rs:105:17
[INFO] [stderr]     |
[INFO] [stderr] 105 |             let mut pkts = stk
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/pcap_file.rs:119:39
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/pcap_file.rs:119:59
[INFO] [stderr]     |
[INFO] [stderr] 119 | fn fill_snaplen(layer: &pcapFileData, stack: &LayerStack, my_index: usize) -> Value<u32> {
[INFO] [stderr]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]    --> src/protocols/pcap_file.rs:137:18
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/pcap_file.rs:137:37
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/pcap_file.rs:137:57
[INFO] [stderr]     |
[INFO] [stderr] 137 | fn fill_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/raw.rs:21:20
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stderr]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/raw.rs:21:40
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn fill(&self, stack: &LayerStack, my_index: usize, out_stack: &mut LayerStack) {
[INFO] [stderr]    |                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/raw.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         stack: &LayerStack,
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/raw.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         my_index: usize,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/raw.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |         encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/tcp.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/tcp.rs:33:38
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/tcp.rs:33:58
[INFO] [stderr]    |
[INFO] [stderr] 33 | fn fill_tcp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/tcp.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/tcp.rs:37:38
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/tcp.rs:37:58
[INFO] [stderr]    |
[INFO] [stderr] 37 | fn fill_tcp_dport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]    |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/tcp.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 43 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/tcp.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/tcp.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/tcp.rs:62:25
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/tcp.rs:62:44
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/tcp.rs:62:64
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn fill_tcp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sum`
[INFO] [stderr]   --> src/protocols/tcp.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let mut sum: u32 = 0;
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ph`
[INFO] [stderr]   --> src/protocols/tcp.rs:97:21
[INFO] [stderr]    |
[INFO] [stderr] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stderr]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/tcp.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let mut sum: u32 = 0;
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/tcp.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut tcp_hdr_len: u16 = 20;
[INFO] [stderr]    |         ----^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/tcp.rs:97:17
[INFO] [stderr]    |
[INFO] [stderr] 97 |             let mut ph: Vec<u8> = vec![];
[INFO] [stderr]    |                 ----^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/udp.rs:20:22
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/udp.rs:20:41
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/udp.rs:20:61
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn fill_udp_len_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `me`
[INFO] [stderr]   --> src/protocols/udp.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     me: &Udp,
[INFO] [stderr]    |     ^^ help: if this is intentional, prefix it with an underscore: `_me`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/udp.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]   --> src/protocols/udp.rs:42:25
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/udp.rs:42:44
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/udp.rs:42:64
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn fill_udp_chksum_auto(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> Value<u16> {
[INFO] [stderr]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sum`
[INFO] [stderr]   --> src/protocols/udp.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut sum: u32 = 0;
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ph`
[INFO] [stderr]   --> src/protocols/udp.rs:76:21
[INFO] [stderr]    |
[INFO] [stderr] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stderr]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_ph`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/udp.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut sum: u32 = 0;
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/udp.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let mut udp_hdr_len: u16 = 8;
[INFO] [stderr]    |         ----^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/udp.rs:76:17
[INFO] [stderr]    |
[INFO] [stderr] 76 |             let mut ph: Vec<u8> = vec![];
[INFO] [stderr]    |                 ----^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layer`
[INFO] [stderr]    --> src/protocols/udp.rs:106:19
[INFO] [stderr]     |
[INFO] [stderr] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]     |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]    --> src/protocols/udp.rs:106:38
[INFO] [stderr]     |
[INFO] [stderr] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]    --> src/protocols/udp.rs:106:58
[INFO] [stderr]     |
[INFO] [stderr] 106 | fn fill_udp_sport(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u16 {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stack`
[INFO] [stderr]   --> src/protocols/vxlan.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     stack: &LayerStack,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_index`
[INFO] [stderr]   --> src/protocols/vxlan.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     my_index: usize,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded_layers`
[INFO] [stderr]   --> src/protocols/vxlan.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     encoded_layers: &EncodingVecVec,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded_layers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ci`
[INFO] [stderr]   --> src/protocols/vxlan.rs:43:13
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let mut ci = 0;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_ci`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/protocols/vxlan.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let mut ci = 0;
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: type `DhcpOption` is more private than the item `Dhcp::options`
[INFO] [stderr]    --> src/protocols/bootp.rs:115:5
[INFO] [stderr]     |
[INFO] [stderr] 115 |     pub options: Vec<DhcpOption>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Dhcp::options` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `DhcpOption` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/protocols/bootp.rs:21:1
[INFO] [stderr]     |
[INFO] [stderr] 21  | enum DhcpOption {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `readme_test` is never used
[INFO] [stderr]  --> src/lib.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn readme_test() {
[INFO] [stderr]   |    ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `fill_crc` is never used
[INFO] [stderr]   --> src/protocols/ether.rs:24:4
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn fill_crc(layer: &dyn Layer, stack: &LayerStack, my_index: usize) -> u32 {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Ethertype` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:43:37
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[nproto(registry(ETHERTYPE_LAYERS, Ethertype: u16))]
[INFO] [stderr]    |                                     ^^^^^^^^^ help: convert the identifier to snake case: `ethertype`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Proto` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:44:32
[INFO] [stderr]    |
[INFO] [stderr] 44 | #[nproto(registry(IANA_LAYERS, Proto: u8))]
[INFO] [stderr]    |                                ^^^^^ help: convert the identifier to snake case: `proto`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Type` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:45:31
[INFO] [stderr]    |
[INFO] [stderr] 45 | #[nproto(registry(ICMP_TYPES, Type: u8))]
[INFO] [stderr]    |                               ^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stderr]    |
[INFO] [stderr] 45 | #[nproto(registry(ICMP_TYPES, r#type: u8))]
[INFO] [stderr]    |                               ~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `SrcPort` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:46:38
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[nproto(registry(UDP_SRC_PORT_APPS, SrcPort: u16))]
[INFO] [stderr]    |                                      ^^^^^^^ help: convert the identifier to snake case: `src_port`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `DstPort` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:47:38
[INFO] [stderr]    |
[INFO] [stderr] 47 | #[nproto(registry(UDP_DST_PORT_APPS, DstPort: u16))]
[INFO] [stderr]    |                                      ^^^^^^^ help: convert the identifier to snake case: `dst_port`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `VendorCookie` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:48:34
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[nproto(registry(BOOTP_VENDORS, VendorCookie: u32))]
[INFO] [stderr]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `vendor_cookie`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__protocolRegistriesSentinel` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | #[derive(NetworkProtocol, Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__protocol_registries_sentinel`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ProtocolRegistriesSentinel` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Box<dyn Layer>` instead of cloning the inner type
[INFO] [stderr]    --> src/lib.rs:793:29
[INFO] [stderr]     |
[INFO] [stderr] 793 |                 return layer.clone();
[INFO] [stderr]     |                             ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&dyn Layer` instead of cloning the inner type
[INFO] [stderr]    --> src/lib.rs:808:29
[INFO] [stderr]     |
[INFO] [stderr] 808 |                 return layer.clone().downcast_ref().unwrap();
[INFO] [stderr]     |                             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/lib.rs:887:26
[INFO] [stderr]     |
[INFO] [stderr] 887 |                 data: buf.clone().to_vec(),
[INFO] [stderr]     |                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `[u8]` does not implement `Clone`, so calling `clone` on `&[u8]` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Serialize` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Send` is not local
[INFO] [stderr]     | `Serialize` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Sync` is not local
[INFO] [stderr]     | `Serialize` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Send` is not local
[INFO] [stderr]     | `Sync` is not local
[INFO] [stderr]     | `Serialize` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Strictest` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/lib.rs:850:1
[INFO] [stderr]     |
[INFO] [stderr] 850 | #[typetag::serde(tag = "layertype")]
[INFO] [stderr]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     | |
[INFO] [stderr]     | `Box` is not local
[INFO] [stderr]     | `Deserialize` is not local
[INFO] [stderr]     | move the `impl` block outside of this constant `_Layer_registry`
[INFO] [stderr] 851 | pub trait Layer: Debug + mopa::Any + New {
[INFO] [stderr]     |           ----- `Layer` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Arp` should have a snake case name
[INFO] [stderr]  --> src/protocols/arp.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__arp`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `ARP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Dhcp` should have a snake case name
[INFO] [stderr]    --> src/protocols/bootp.rs:111:10
[INFO] [stderr]     |
[INFO] [stderr] 111 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dhcp`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `DHCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Bootp` should have a snake case name
[INFO] [stderr]    --> src/protocols/bootp.rs:156:10
[INFO] [stderr]     |
[INFO] [stderr] 156 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__bootp`
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `BOOTP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__dot1Q` should have a snake case name
[INFO] [stderr]  --> src/protocols/dot1q.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__dot1_q`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `Dot1Q` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Geneve` should have a snake case name
[INFO] [stderr]  --> src/protocols/geneve.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__geneve`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `GENEVE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Gre` should have a snake case name
[INFO] [stderr]   --> src/protocols/gre.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__gre`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `GRE` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Icmp` should have a snake case name
[INFO] [stderr]  --> src/protocols/icmp.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__echoReply` should have a snake case name
[INFO] [stderr]   --> src/protocols/icmp.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__echo_reply`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `EchoReply` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Icmp` should have a snake case name
[INFO] [stderr]   --> src/protocols/icmp.rs:5:24
[INFO] [stderr]    |
[INFO] [stderr] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__icmp`
[INFO] [stderr] ...
[INFO] [stderr] 49 |     let encoded_icmp_header = if let Some(icmp) = stack.item_at(ICMP!(), my_index) {
[INFO] [stderr]    |                                                                 ------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `ICMP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Ip` should have a snake case name
[INFO] [stderr]  --> src/protocols/ip.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Ip` should have a snake case name
[INFO] [stderr]    --> src/protocols/ip.rs:5:24
[INFO] [stderr]     |
[INFO] [stderr] 5   |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stderr] ...
[INFO] [stderr] 152 |     let encoded_ip_header = if let Some(ip) = stack.item_at(IP!(), my_index) {
[INFO] [stderr]     |                                                             ----- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapFile` should have a snake case name
[INFO] [stderr]  --> src/protocols/pcap_file.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `PcapFile` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:46:10
[INFO] [stderr]    |
[INFO] [stderr] 46 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stderr] ...
[INFO] [stderr] 74 |         0xa1b2c3d4 => PcapFileData!().decode_with_decoder::<BinaryBigEndian>(buf),
[INFO] [stderr]    |                       --------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stderr] ...
[INFO] [stderr] 75 |         0xd4c3b2a1 => PcapFileData!().decode_with_decoder::<BinaryLittleEndian>(buf),
[INFO] [stderr]    |                       --------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapFileData` should have a snake case name
[INFO] [stderr]   --> src/protocols/pcap_file.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_file_data`
[INFO] [stderr] ...
[INFO] [stderr] 80 |     dec.map(|(lyr, delta)| (lyr.layers_of(PcapFileData!())[0].clone(), delta))
[INFO] [stderr]    |                                           --------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `PcapFileData` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stderr]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stderr]     |
[INFO] [stderr] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stderr] ...
[INFO] [stderr] 104 |         if let Some((stk, delta)) = PcapPacket!().decode_with_decoder::<D>(&buf[ci..]) {
[INFO] [stderr]     |                                     ------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__pcapPacket` should have a snake case name
[INFO] [stderr]    --> src/protocols/pcap_file.rs:46:10
[INFO] [stderr]     |
[INFO] [stderr] 46  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__pcap_packet`
[INFO] [stderr] ...
[INFO] [stderr] 106 |                 .layers_of(PcapPacket!())
[INFO] [stderr]     |                            ------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `PcapPacket` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Tcp` should have a snake case name
[INFO] [stderr]  --> src/protocols/tcp.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Tcp` should have a snake case name
[INFO] [stderr]   --> src/protocols/tcp.rs:5:10
[INFO] [stderr]    |
[INFO] [stderr] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__tcp`
[INFO] [stderr] ...
[INFO] [stderr] 77 |     let encoded_tcp_header = if let Some(tcp) = stack.item_at(TCP!(), my_index) {
[INFO] [stderr]    |                                                               ------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `TCP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Ip` should have a snake case name
[INFO] [stderr]   --> src/protocols/ip.rs:5:24
[INFO] [stderr]    |
[INFO] [stderr] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/protocols/tcp.rs:96:41
[INFO] [stderr]    |
[INFO] [stderr] 96 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stderr]    |                                         ----- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Udp` should have a snake case name
[INFO] [stderr]  --> src/protocols/udp.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Udp` should have a snake case name
[INFO] [stderr]   --> src/protocols/udp.rs:5:10
[INFO] [stderr]    |
[INFO] [stderr] 5  | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__udp`
[INFO] [stderr] ...
[INFO] [stderr] 57 |     let encoded_udp_header = if let Some(udp) = stack.item_at(UDP!(), my_index) {
[INFO] [stderr]    |                                                               ------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `UDP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Ip` should have a snake case name
[INFO] [stderr]   --> src/protocols/ip.rs:5:24
[INFO] [stderr]    |
[INFO] [stderr] 5  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__ip`
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/protocols/udp.rs:75:41
[INFO] [stderr]    |
[INFO] [stderr] 75 |         if let Some(ip) = stack.item_at(IP!(), my_index - 1) {
[INFO] [stderr]    |                                         ----- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `IP` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__Vxlan` should have a snake case name
[INFO] [stderr]  --> src/protocols/vxlan.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__vxlan`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `VXLAN` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `scarust` (lib) generated 250 warnings (32 duplicates) (run `cargo fix --lib -p scarust` to apply 31 suggestions)
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> examples/clean.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `testProto` should have an upper camel case name
[INFO] [stderr]   --> tests/test1.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct testProto {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `scarust::*`
[INFO] [stderr]   --> tests/test1.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     use scarust::*;
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test1.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test1.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test1.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr] ...
[INFO] [stderr] 28 |     let tp = Ether!() / IP!(src = "192.0.2.1") / UDP!() / TestProto!();
[INFO] [stderr]    |                                                           ------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test1.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr] ...
[INFO] [stderr] 99 |     let px = TestProto!().tos(2);
[INFO] [stderr]    |              ------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]    --> tests/test1.rs:11:24
[INFO] [stderr]     |
[INFO] [stderr] 11  |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr] ...
[INFO] [stderr] 107 |     assert_ne!(fx[TestProto!()].mac2, Value::Random);
[INFO] [stderr]     |                   ------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: type `testProto` should have an upper camel case name
[INFO] [stderr]   --> tests/test_encode.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct testProto {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]  --> tests/test_encode.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]  --> tests/test_encode.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]  --> examples/first.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::any::Any;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::boxed::Box`
[INFO] [stderr]  --> examples/first.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::boxed::Box;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryFrom`
[INFO] [stderr]  --> examples/first.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::convert::TryFrom;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ip`
[INFO] [stderr]   --> examples/first.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let ip = Ip::default();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `ip` is never read
[INFO] [stderr]   --> examples/first.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let mut ip = IP!(
[INFO] [stderr]    |             ^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `layers2`
[INFO] [stderr]   --> examples/first.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 84 |     let layers2 = layers.clone();
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layers2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_udp`
[INFO] [stderr]    --> examples/first.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let my_udp = &layers[UDP!()];
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_udp`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_src_ip`
[INFO] [stderr]    --> examples/first.rs:111:13
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let mut my_src_ip = layers[IP!()].src.clone();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_src_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/first.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let mut my_src_ip = layers[IP!()].src.clone();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `testProto` should have an upper camel case name
[INFO] [stderr]   --> tests/test_file_pcap.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct testProto {
[INFO] [stderr]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `TestProto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `num_blocks` is assigned to, but never used
[INFO] [stderr]   --> tests/test_file_pcap.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let mut num_blocks = 0;
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_num_blocks` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/test_file_pcap.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |     for i in 0..3 {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test_file_pcap.rs:20:24
[INFO] [stderr]    |
[INFO] [stderr] 20 |     FromStringHashmap, NetworkProtocol, Clone, Debug, Eq, PartialEq, Serialize, Deserialize,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `__test_proto`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `TestProto` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable `__testProto` should have a snake case name
[INFO] [stderr]   --> tests/test_file_pcap.rs:20:24
[INFO] [stderr]    |
[WARN] too many lines in the log, truncating it
