[INFO] updating cached repository sleepy771/Subnetizers [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sleepy771/Subnetizers [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sleepy771/Subnetizers" "work/ex/clippy-test-run/sources/stable/gh/sleepy771/Subnetizers"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sleepy771/Subnetizers'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sleepy771/Subnetizers" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sleepy771/Subnetizers"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sleepy771/Subnetizers'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ed451b21dc26e5b181d8c2c501c07bb40446cb23 [INFO] sha for GitHub repo sleepy771/Subnetizers: ed451b21dc26e5b181d8c2c501c07bb40446cb23 [INFO] validating manifest of sleepy771/Subnetizers on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sleepy771/Subnetizers on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sleepy771/Subnetizers [INFO] finished frobbing sleepy771/Subnetizers [INFO] frobbed toml for sleepy771/Subnetizers written to work/ex/clippy-test-run/sources/stable/gh/sleepy771/Subnetizers/Cargo.toml [INFO] started frobbing sleepy771/Subnetizers [INFO] finished frobbing sleepy771/Subnetizers [INFO] frobbed toml for sleepy771/Subnetizers written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sleepy771/Subnetizers/Cargo.toml [INFO] crate sleepy771/Subnetizers has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting sleepy771/Subnetizers against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sleepy771/Subnetizers:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 1e3005828c1cc490d2eb388c7bf9dc7aa07e3c7938a51ea2c8b6ad2b2e3b6945 [INFO] running `"docker" "start" "-a" "1e3005828c1cc490d2eb388c7bf9dc7aa07e3c7938a51ea2c8b6ad2b2e3b6945"` [INFO] [stderr] Checking serde v1.0.36 [INFO] [stderr] Checking ref_slice v1.1.1 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking snap v0.2.4 [INFO] [stderr] Checking chrono v0.4.1 [INFO] [stderr] Checking ordered-float v0.5.0 [INFO] [stderr] Compiling syn v0.12.15 [INFO] [stderr] Checking openssl-sys v0.9.27 [INFO] [stderr] Checking twox-hash v1.1.0 [INFO] [stderr] Checking backtrace v0.3.5 [INFO] [stderr] Checking flate2 v0.2.20 [INFO] [stderr] Checking openssl v0.9.24 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Compiling serde_derive_internals v0.22.2 [INFO] [stderr] Compiling serde_derive v1.0.36 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Checking serde_yaml v0.7.3 [INFO] [stderr] Checking serde_json v1.0.13 [INFO] [stderr] Checking serde-value v0.5.1 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking kafka v0.7.0 [INFO] [stderr] Checking log4rs v0.8.0 [INFO] [stderr] Checking ipaggregator-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:94:37 [INFO] [stderr] | [INFO] [stderr] 94 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:123:37 [INFO] [stderr] | [INFO] [stderr] 123 | fn add(&mut self, octet: &[u8]) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:295:37 [INFO] [stderr] | [INFO] [stderr] 295 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:412:37 [INFO] [stderr] | [INFO] [stderr] 412 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:419:25 [INFO] [stderr] | [INFO] [stderr] 419 | fn clear(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:423:41 [INFO] [stderr] | [INFO] [stderr] 423 | pub fn add(&mut self, octet: &[u8]) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | const SETTINGS_FILE_NAME: &'static str = "settings.yaml"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/config.rs:405:5 [INFO] [stderr] | [INFO] [stderr] 405 | config [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/config.rs:402:18 [INFO] [stderr] | [INFO] [stderr] 402 | let config = Config::builder() [INFO] [stderr] | __________________^ [INFO] [stderr] 403 | | .appender(Appender::builder().build("stdout", Box::new(stdout))) [INFO] [stderr] 404 | | .build(Root::builder().appender("stdout").build(LevelFilter::Info)).unwrap(); [INFO] [stderr] | |____________________________________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ipagg.rs:24:29 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn start(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/listeners.rs:127:32 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn shutdown(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:94:37 [INFO] [stderr] | [INFO] [stderr] 94 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:123:37 [INFO] [stderr] | [INFO] [stderr] 123 | fn add(&mut self, octet: &[u8]) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:295:37 [INFO] [stderr] | [INFO] [stderr] 295 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:412:37 [INFO] [stderr] | [INFO] [stderr] 412 | fn expand(&mut self, octet: u8) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:419:25 [INFO] [stderr] | [INFO] [stderr] 419 | fn clear(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/subnet_tree.rs:423:41 [INFO] [stderr] | [INFO] [stderr] 423 | pub fn add(&mut self, octet: &[u8]) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use std::env::home_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:33:38 [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(home_path) = home_dir() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/config.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | const SETTINGS_FILE_NAME: &'static str = "settings.yaml"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/config.rs:405:5 [INFO] [stderr] | [INFO] [stderr] 405 | config [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/config.rs:402:18 [INFO] [stderr] | [INFO] [stderr] 402 | let config = Config::builder() [INFO] [stderr] | __________________^ [INFO] [stderr] 403 | | .appender(Appender::builder().build("stdout", Box::new(stdout))) [INFO] [stderr] 404 | | .build(Root::builder().appender("stdout").build(LevelFilter::Info)).unwrap(); [INFO] [stderr] | |____________________________________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/ipagg.rs:24:29 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn start(&mut self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/listeners.rs:127:32 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn shutdown(&self) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use std::env::home_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/main.rs:33:38 [INFO] [stderr] | [INFO] [stderr] 33 | if let Some(home_path) = home_dir() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subnet_tree.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | let mut reassign: bool; [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: method is never used: `clear` [INFO] [stderr] --> src/subnet_tree.rs:419:5 [INFO] [stderr] | [INFO] [stderr] 419 | fn clear(&mut self) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TERMINATE` [INFO] [stderr] --> src/ipagg.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | TERMINATE, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_parser` [INFO] [stderr] --> src/parsers.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn simple_parser(bytes: &[u8]) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shutdown` [INFO] [stderr] --> src/listeners.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn shutdown(&self) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/subnet_tree.rs:10:31 [INFO] [stderr] | [INFO] [stderr] 10 | fn contains(&self, octet: &u8) -> bool; [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/subnet_tree.rs:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | fn get_node(&mut self, octet: &u8) -> Option<&mut Box>; [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/subnet_tree.rs:12:50 [INFO] [stderr] | [INFO] [stderr] 12 | fn get_node(&mut self, octet: &u8) -> Option<&mut Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&mut OctetNode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/subnet_tree.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / fn get_heap_ref<'a>(&'a self) -> &'a [u64; 8] { [INFO] [stderr] 39 | | &self.heap [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(octet.clone())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/subnet_tree.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `octet` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/subnet_tree.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if octet.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `octet.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/subnet_tree.rs:133:12 [INFO] [stderr] | [INFO] [stderr] 133 | if self.subnodes.get(&octet[0]).unwrap().is_subnet() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.subnodes[&octet[0]]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:134:31 [INFO] [stderr] | [INFO] [stderr] 134 | self.set_heap_bit(octet[0] as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(octet[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | self.merge_subnets(octet[0] as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(octet[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:158:36 [INFO] [stderr] | [INFO] [stderr] 158 | let cur_prefix = prefix | ((self.octet as u32) << (24 - mask)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:176:39 [INFO] [stderr] | [INFO] [stderr] 176 | let partial_mask: u8 = floor_log2(heap_bit as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(heap_bit)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:204:44 [INFO] [stderr] | [INFO] [stderr] 204 | let ip_address = self.prefix | (octet as u32) << (24 - self.mask); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `256u16` [INFO] [stderr] --> src/subnet_tree.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | node.set_heap_bit(256u16 + 0); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/subnet_tree.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | / fn get_heap_ref<'a>(&'a self) -> &'a [u64; 8] { [INFO] [stderr] 258 | | &self.heap [INFO] [stderr] 259 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:299:38 [INFO] [stderr] | [INFO] [stderr] 299 | let (idx, bit) = to_position(octet as u16 + 256u16).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:301:24 [INFO] [stderr] | [INFO] [stderr] 301 | self.subnetize(octet as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:314:23 [INFO] [stderr] | [INFO] [stderr] 314 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(octet.clone())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/subnet_tree.rs:314:23 [INFO] [stderr] | [INFO] [stderr] 314 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*octet` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:336:40 [INFO] [stderr] | [INFO] [stderr] 336 | let cur_prefix: u32 = prefix | (self.octet as u32) << (24 - mask); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:366:44 [INFO] [stderr] | [INFO] [stderr] 366 | let ip_address = self.prefix | (octet as u32) << (24 - self.mask); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/senders.rs:14:11 [INFO] [stderr] | [INFO] [stderr] 14 | match settings.get_publisher_type().as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `settings.get_publisher_type()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addr` [INFO] [stderr] --> src/senders.rs:168:26 [INFO] [stderr] | [INFO] [stderr] 168 | Ok((len, addr)) => { [INFO] [stderr] | ^^^^ help: consider using `_addr` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subnet_tree.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | let mut reassign: bool; [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: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/config.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | hosts.into_iter().for_each(|host| {self.hosts.push(host.to_owned())}); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/ipagg.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | / match listener.listen() { [INFO] [stderr] 51 | | Err(e) => { [INFO] [stderr] 52 | | error!("Listener stopped listening; Cause: {}", e); [INFO] [stderr] 53 | | panic!(); [INFO] [stderr] 54 | | }, [INFO] [stderr] 55 | | _ => {} [INFO] [stderr] 56 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let Err(e) = listener.listen() { [INFO] [stderr] 51 | error!("Listener stopped listening; Cause: {}", e); [INFO] [stderr] 52 | panic!(); [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/ipagg.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | let sleep_dur = Duration::from_secs(SETTINGS.get_publish_timer() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SETTINGS.get_publish_timer())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/listeners.rs:128:30 [INFO] [stderr] | [INFO] [stderr] 128 | self.socket.send("STOP!".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"STOP!"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/listeners.rs:139:48 [INFO] [stderr] | [INFO] [stderr] 139 | if &buffer[0..size] == "STOP!".as_bytes() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"STOP!"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/listeners.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | / match self.sender.send(AggEvent::ADD(data)) { [INFO] [stderr] 150 | | Err(e) => return Err(format!("Can not send Aggregator event via event queue; Cause: {}", e)), [INFO] [stderr] 151 | | _ => {} [INFO] [stderr] 152 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let Err(e) = self.sender.send(AggEvent::ADD(data)) { return Err(format!("Can not send Aggregator event via event queue; Cause: {}", e)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subnet_tree.rs:553:13 [INFO] [stderr] | [INFO] [stderr] 553 | let mut node = LastNode { [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/subnet_tree.rs:562:13 [INFO] [stderr] | [INFO] [stderr] 562 | let mut node = LastNode { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/formatters.rs:40:30 [INFO] [stderr] | [INFO] [stderr] 40 | fn make_cidr_ip_string(cidr: &(u32, u8)) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `(u32, u8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subnet_tree.rs:625:13 [INFO] [stderr] | [INFO] [stderr] 625 | let mut node = StandardNode { [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/subnet_tree.rs:674:13 [INFO] [stderr] | [INFO] [stderr] 674 | let mut node = StandardNode { [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/subnet_tree.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | let mut node = StandardNode { [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/senders.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | let mut socket = UdpSocket::bind("127.0.0.1:13345").unwrap(); [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/senders.rs:158:14 [INFO] [stderr] | [INFO] [stderr] 158 | let (mut udp_listener_tx, mut udp_listener_rx) = channel(); [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/senders.rs:158:35 [INFO] [stderr] | [INFO] [stderr] 158 | let (mut udp_listener_tx, mut udp_listener_rx) = channel(); [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/senders.rs:179:22 [INFO] [stderr] | [INFO] [stderr] 179 | let (mut tx, mut rx) = channel(); [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/senders.rs:179:14 [INFO] [stderr] | [INFO] [stderr] 179 | let (mut tx, mut rx) = channel(); [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/listeners.rs:186:21 [INFO] [stderr] | [INFO] [stderr] 186 | let mut socket = UdpSocket::bind("127.0.0.1:12341").unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear` [INFO] [stderr] --> src/subnet_tree.rs:419:5 [INFO] [stderr] | [INFO] [stderr] 419 | fn clear(&mut self) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TERMINATE` [INFO] [stderr] --> src/ipagg.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | TERMINATE, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shutdown` [INFO] [stderr] --> src/listeners.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn shutdown(&self) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/subnet_tree.rs:10:31 [INFO] [stderr] | [INFO] [stderr] 10 | fn contains(&self, octet: &u8) -> bool; [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/subnet_tree.rs:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | fn get_node(&mut self, octet: &u8) -> Option<&mut Box>; [INFO] [stderr] | ^^^ help: consider passing by value instead: `u8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/subnet_tree.rs:12:50 [INFO] [stderr] | [INFO] [stderr] 12 | fn get_node(&mut self, octet: &u8) -> Option<&mut Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&mut OctetNode` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/subnet_tree.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / fn get_heap_ref<'a>(&'a self) -> &'a [u64; 8] { [INFO] [stderr] 39 | | &self.heap [INFO] [stderr] 40 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(octet.clone())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/subnet_tree.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `octet` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/subnet_tree.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 124 | if octet.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `octet.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/subnet_tree.rs:133:12 [INFO] [stderr] | [INFO] [stderr] 133 | if self.subnodes.get(&octet[0]).unwrap().is_subnet() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.subnodes[&octet[0]]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:134:31 [INFO] [stderr] | [INFO] [stderr] 134 | self.set_heap_bit(octet[0] as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(octet[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | self.merge_subnets(octet[0] as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(octet[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:158:36 [INFO] [stderr] | [INFO] [stderr] 158 | let cur_prefix = prefix | ((self.octet as u32) << (24 - mask)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:176:39 [INFO] [stderr] | [INFO] [stderr] 176 | let partial_mask: u8 = floor_log2(heap_bit as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(heap_bit)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:204:44 [INFO] [stderr] | [INFO] [stderr] 204 | let ip_address = self.prefix | (octet as u32) << (24 - self.mask); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `256u16` [INFO] [stderr] --> src/subnet_tree.rs:249:31 [INFO] [stderr] | [INFO] [stderr] 249 | node.set_heap_bit(256u16 + 0); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/subnet_tree.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | / fn get_heap_ref<'a>(&'a self) -> &'a [u64; 8] { [INFO] [stderr] 258 | | &self.heap [INFO] [stderr] 259 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:299:38 [INFO] [stderr] | [INFO] [stderr] 299 | let (idx, bit) = to_position(octet as u16 + 256u16).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:301:24 [INFO] [stderr] | [INFO] [stderr] 301 | self.subnetize(octet as u16 + 256u16); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u16::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:314:23 [INFO] [stderr] | [INFO] [stderr] 314 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(octet.clone())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/subnet_tree.rs:314:23 [INFO] [stderr] | [INFO] [stderr] 314 | let mut pos = octet.clone() as u16 + 256u16; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*octet` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:336:40 [INFO] [stderr] | [INFO] [stderr] 336 | let cur_prefix: u32 = prefix | (self.octet as u32) << (24 - mask); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:366:44 [INFO] [stderr] | [INFO] [stderr] 366 | let ip_address = self.prefix | (octet as u32) << (24 - self.mask); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(octet)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:487:10 [INFO] [stderr] | [INFO] [stderr] 487 | ((ip[0] as u32) << 24) | ((ip[1] as u32) << 16) | ((ip[2] as u32) << 8) | ip[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(ip[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:487:35 [INFO] [stderr] | [INFO] [stderr] 487 | ((ip[0] as u32) << 24) | ((ip[1] as u32) << 16) | ((ip[2] as u32) << 8) | ip[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(ip[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:487:60 [INFO] [stderr] | [INFO] [stderr] 487 | ((ip[0] as u32) << 24) | ((ip[1] as u32) << 16) | ((ip[2] as u32) << 8) | ip[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u32::from(ip[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subnet_tree.rs:487:83 [INFO] [stderr] | [INFO] [stderr] 487 | ((ip[0] as u32) << 24) | ((ip[1] as u32) << 16) | ((ip[2] as u32) << 8) | ip[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(ip[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `256` [INFO] [stderr] --> src/subnet_tree.rs:495:36 [INFO] [stderr] | [INFO] [stderr] 495 | assert_eq!(neighbor::(256 + 0), 256 + 1); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: function `test_last_node__set_heap_bit` should have a snake case name such as `test_last_node_set_heap_bit` [INFO] [stderr] --> src/subnet_tree.rs:542:5 [INFO] [stderr] | [INFO] [stderr] 542 | / fn test_last_node__set_heap_bit() { [INFO] [stderr] 543 | | let mut node = LastNode { [INFO] [stderr] 544 | | octet: 0, [INFO] [stderr] 545 | | heap: [0, 0, 0, 0, 0, 0, 0, 0], [INFO] [stderr] ... | [INFO] [stderr] 548 | | assert_eq!(node.heap, [1, 0, 0, 0, 0, 0, 0, 0]); [INFO] [stderr] 549 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: function `test_last_node___has_subnet` should have a snake case name such as `test_last_node_has_subnet` [INFO] [stderr] --> src/subnet_tree.rs:552:5 [INFO] [stderr] | [INFO] [stderr] 552 | / fn test_last_node___has_subnet() { [INFO] [stderr] 553 | | let mut node = LastNode { [INFO] [stderr] 554 | | octet: 0, [INFO] [stderr] 555 | | heap: [0, 0, 0, 0, 1, 0, 0, 0], [INFO] [stderr] 556 | | }; [INFO] [stderr] 557 | | assert!(node.contains_subnet_in_heap(256 + 0)); [INFO] [stderr] 558 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `256` [INFO] [stderr] --> src/subnet_tree.rs:557:46 [INFO] [stderr] | [INFO] [stderr] 557 | assert!(node.contains_subnet_in_heap(256 + 0)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: function `test_standard_node__has_subnet` should have a snake case name such as `test_standard_node_has_subnet` [INFO] [stderr] --> src/subnet_tree.rs:624:5 [INFO] [stderr] | [INFO] [stderr] 624 | / fn test_standard_node__has_subnet() { [INFO] [stderr] 625 | | let mut node = StandardNode { [INFO] [stderr] 626 | | level: 0, [INFO] [stderr] 627 | | heap: [2, 0, 0, 0, 0, 0, 0, 0], [INFO] [stderr] ... | [INFO] [stderr] 632 | | assert!(!node.contains_subnet_in_heap(2)); [INFO] [stderr] 633 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_standard_node__unset_heap_bit` should have a snake case name such as `test_standard_node_unset_heap_bit` [INFO] [stderr] --> src/subnet_tree.rs:636:5 [INFO] [stderr] | [INFO] [stderr] 636 | / fn test_standard_node__unset_heap_bit() { [INFO] [stderr] 637 | | let mut node = StandardNode { [INFO] [stderr] 638 | | octet: 0, [INFO] [stderr] 639 | | heap: [1, 0, 0, 0, 0, 0, 0, 0], [INFO] [stderr] ... | [INFO] [stderr] 644 | | assert_eq!(node.heap, [0; 8]); [INFO] [stderr] 645 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_standard_node__set_heap_bit` should have a snake case name such as `test_standard_node_set_heap_bit` [INFO] [stderr] --> src/subnet_tree.rs:648:5 [INFO] [stderr] | [INFO] [stderr] 648 | / fn test_standard_node__set_heap_bit() { [INFO] [stderr] 649 | | let mut node = StandardNode { [INFO] [stderr] 650 | | octet: 0, [INFO] [stderr] 651 | | heap: [0, 0, 0, 0, 0, 0, 0, 0], [INFO] [stderr] ... | [INFO] [stderr] 656 | | assert_eq!(node.heap, [1, 0, 0, 0, 0, 0, 0, 0]); [INFO] [stderr] 657 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_standard_node__subnetize` should have a snake case name such as `test_standard_node_subnetize` [INFO] [stderr] --> src/subnet_tree.rs:660:5 [INFO] [stderr] | [INFO] [stderr] 660 | / fn test_standard_node__subnetize() { [INFO] [stderr] 661 | | let mut node = StandardNode { [INFO] [stderr] 662 | | octet: 0, [INFO] [stderr] 663 | | heap: [0, 0, 0, 0, 3, 0, 0, 0], [INFO] [stderr] ... | [INFO] [stderr] 668 | | assert_eq!(node.heap, [0, 0, 1, 0, 0, 0, 0, 0]); [INFO] [stderr] 669 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: function `test_standard_node__is_subnet` should have a snake case name such as `test_standard_node_is_subnet` [INFO] [stderr] --> src/subnet_tree.rs:672:5 [INFO] [stderr] | [INFO] [stderr] 672 | / fn test_standard_node__is_subnet() { [INFO] [stderr] 673 | | // Node has subnet bit set up [INFO] [stderr] 674 | | let mut node = StandardNode { [INFO] [stderr] 675 | | octet: 0, [INFO] [stderr] ... | [INFO] [stderr] 729 | | assert!(node.is_part_of_aggregated_subnet(23)); [INFO] [stderr] 730 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/subnet_tree.rs:815:17 [INFO] [stderr] | [INFO] [stderr] 815 | assert!(node.subnodes.get(&0).unwrap().contains(&0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&node.subnodes[&0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: function `test__calculate_partial_cidr` should have a snake case name such as `test_calculate_partial_cidr` [INFO] [stderr] --> src/subnet_tree.rs:926:5 [INFO] [stderr] | [INFO] [stderr] 926 | / fn test__calculate_partial_cidr() { [INFO] [stderr] 927 | | assert_eq!((0u8, 0u8), calculate_partial_cidr(1u16)); [INFO] [stderr] 928 | | assert_eq!((0u8, 1u8), calculate_partial_cidr(2u16)); [INFO] [stderr] 929 | | assert_eq!((0u8, 8u8), calculate_partial_cidr(256u16)); [INFO] [stderr] 930 | | assert_eq!((255u8, 8u8), calculate_partial_cidr(511u16)); [INFO] [stderr] 931 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/senders.rs:14:11 [INFO] [stderr] | [INFO] [stderr] 14 | match settings.get_publisher_type().as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `settings.get_publisher_type()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/senders.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | (octets[0] as u32) << 24 | (octets[1] as u32) << 16 | (octets[2] as u32) << 8 | octets[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(octets[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/senders.rs:141:36 [INFO] [stderr] | [INFO] [stderr] 141 | (octets[0] as u32) << 24 | (octets[1] as u32) << 16 | (octets[2] as u32) << 8 | octets[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(octets[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/senders.rs:141:63 [INFO] [stderr] | [INFO] [stderr] 141 | (octets[0] as u32) << 24 | (octets[1] as u32) << 16 | (octets[2] as u32) << 8 | octets[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(octets[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/senders.rs:141:89 [INFO] [stderr] | [INFO] [stderr] 141 | (octets[0] as u32) << 24 | (octets[1] as u32) << 16 | (octets[2] as u32) << 8 | octets[3] as u32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u32::from(octets[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/config.rs:66:15 [INFO] [stderr] | [INFO] [stderr] 66 | hosts.into_iter().for_each(|host| {self.hosts.push(host.to_owned())}); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/ipagg.rs:50:21 [INFO] [stderr] | [INFO] [stderr] 50 | / match listener.listen() { [INFO] [stderr] 51 | | Err(e) => { [INFO] [stderr] 52 | | error!("Listener stopped listening; Cause: {}", e); [INFO] [stderr] 53 | | panic!(); [INFO] [stderr] 54 | | }, [INFO] [stderr] 55 | | _ => {} [INFO] [stderr] 56 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 50 | if let Err(e) = listener.listen() { [INFO] [stderr] 51 | error!("Listener stopped listening; Cause: {}", e); [INFO] [stderr] 52 | panic!(); [INFO] [stderr] 53 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/ipagg.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | let sleep_dur = Duration::from_secs(SETTINGS.get_publish_timer() as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(SETTINGS.get_publish_timer())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/listeners.rs:128:30 [INFO] [stderr] | [INFO] [stderr] 128 | self.socket.send("STOP!".as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"STOP!"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/listeners.rs:139:48 [INFO] [stderr] | [INFO] [stderr] 139 | if &buffer[0..size] == "STOP!".as_bytes() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"STOP!"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/listeners.rs:149:25 [INFO] [stderr] | [INFO] [stderr] 149 | / match self.sender.send(AggEvent::ADD(data)) { [INFO] [stderr] 150 | | Err(e) => return Err(format!("Can not send Aggregator event via event queue; Cause: {}", e)), [INFO] [stderr] 151 | | _ => {} [INFO] [stderr] 152 | | } [INFO] [stderr] | |_________________________^ help: try this: `if let Err(e) = self.sender.send(AggEvent::ADD(data)) { return Err(format!("Can not send Aggregator event via event queue; Cause: {}", e)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/listeners.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | socket.send_to(b"STOP!", "127.0.0.1:12345"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/formatters.rs:40:30 [INFO] [stderr] | [INFO] [stderr] 40 | fn make_cidr_ip_string(cidr: &(u32, u8)) -> String { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `(u32, u8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/formatters.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | (a as u32) << 24 | (b as u32) << 16 | (c as u32) << 8 | d as u32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(a)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/formatters.rs:49:28 [INFO] [stderr] | [INFO] [stderr] 49 | (a as u32) << 24 | (b as u32) << 16 | (c as u32) << 8 | d as u32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(b)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/formatters.rs:49:47 [INFO] [stderr] | [INFO] [stderr] 49 | (a as u32) << 24 | (b as u32) << 16 | (c as u32) << 8 | d as u32 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/formatters.rs:49:65 [INFO] [stderr] | [INFO] [stderr] 49 | (a as u32) << 24 | (b as u32) << 16 | (c as u32) << 8 | d as u32 [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(d)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.35s [INFO] running `"docker" "inspect" "1e3005828c1cc490d2eb388c7bf9dc7aa07e3c7938a51ea2c8b6ad2b2e3b6945"` [INFO] running `"docker" "rm" "-f" "1e3005828c1cc490d2eb388c7bf9dc7aa07e3c7938a51ea2c8b6ad2b2e3b6945"` [INFO] [stdout] 1e3005828c1cc490d2eb388c7bf9dc7aa07e3c7938a51ea2c8b6ad2b2e3b6945