[INFO] updating cached repository amithendin/amitdb [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/amithendin/amitdb [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/amithendin/amitdb" "work/ex/clippy-test-run/sources/stable/gh/amithendin/amitdb"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/amithendin/amitdb'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/amithendin/amitdb" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/amithendin/amitdb"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/amithendin/amitdb'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ec006492d5bacc3a44bdaa1f56a589ba93da244e [INFO] sha for GitHub repo amithendin/amitdb: ec006492d5bacc3a44bdaa1f56a589ba93da244e [INFO] validating manifest of amithendin/amitdb 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 amithendin/amitdb 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 amithendin/amitdb [INFO] finished frobbing amithendin/amitdb [INFO] frobbed toml for amithendin/amitdb written to work/ex/clippy-test-run/sources/stable/gh/amithendin/amitdb/Cargo.toml [INFO] started frobbing amithendin/amitdb [INFO] finished frobbing amithendin/amitdb [INFO] frobbed toml for amithendin/amitdb written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/amithendin/amitdb/Cargo.toml [INFO] crate amithendin/amitdb 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 amithendin/amitdb against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/amithendin/amitdb:/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] 0fd87e964cf7534bd30e9f62e019946bcd0d2123d0fc6b6ba8e3961899635c29 [INFO] running `"docker" "start" "-a" "0fd87e964cf7534bd30e9f62e019946bcd0d2123d0fc6b6ba8e3961899635c29"` [INFO] [stderr] Compiling serde v1.0.76 [INFO] [stderr] Compiling deunicode v0.4.2 [INFO] [stderr] Compiling slug v0.1.4 [INFO] [stderr] Compiling serde_json v1.0.27 [INFO] [stderr] Compiling jmespath v0.2.0 [INFO] [stderr] Checking amitdb v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:375:13 [INFO] [stderr] | [INFO] [stderr] 375 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:376:13 [INFO] [stderr] | [INFO] [stderr] 376 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:377:13 [INFO] [stderr] | [INFO] [stderr] 377 | level: level, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `level` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:456:13 [INFO] [stderr] | [INFO] [stderr] 456 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:458:13 [INFO] [stderr] | [INFO] [stderr] 458 | level: level, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `level` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/settings/mod.rs:68:38 [INFO] [stderr] | [INFO] [stderr] 68 | CollectionSettings { users: users } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `users` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:375:13 [INFO] [stderr] | [INFO] [stderr] 375 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:376:13 [INFO] [stderr] | [INFO] [stderr] 376 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:377:13 [INFO] [stderr] | [INFO] [stderr] 377 | level: level, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `level` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:456:13 [INFO] [stderr] | [INFO] [stderr] 456 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/node/mod.rs:458:13 [INFO] [stderr] | [INFO] [stderr] 458 | level: level, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `level` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collection/settings/mod.rs:68:38 [INFO] [stderr] | [INFO] [stderr] 68 | CollectionSettings { users: users } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `users` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return in_ms; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `in_ms` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | return new_n; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `new_n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | return s [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | return (&s[0..i_opening_b]).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(&s[0..i_opening_b]).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return walk(&mut arr[i], step + 1, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(&mut arr[i], step + 1, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | return walk(n.objs.get_mut(steps[step]).unwrap(), step + 1, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(n.objs.get_mut(steps[step]).unwrap(), step + 1, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:258:17 [INFO] [stderr] | [INFO] [stderr] 258 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:285:21 [INFO] [stderr] | [INFO] [stderr] 285 | Some(_b) => return walk_arrs(n, step, steps, value, operator, indices), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk_arrs(n, step, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:286:14 [INFO] [stderr] | [INFO] [stderr] 286 | _ => return walk_objs(n, step, steps, value, operator, indices) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk_objs(n, step, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | / if step == steps.len() -1 { [INFO] [stderr] 279 | | if walk_val(n, step, steps.to_owned(), value.to_owned(), operator.to_owned(), indices) { [INFO] [stderr] 280 | | return true; [INFO] [stderr] 281 | | } [INFO] [stderr] 282 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 278 | if step == steps.len() -1 && walk_val(n, step, steps.to_owned(), value.to_owned(), operator.to_owned(), indices) { [INFO] [stderr] 279 | return true; [INFO] [stderr] 280 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:353:23 [INFO] [stderr] | [INFO] [stderr] 353 | }else if val_sub.is_array() { [INFO] [stderr] | _______________________^ [INFO] [stderr] 354 | | if self.loop_val(key_sub.to_owned(), &mut val_sub, level, indices) { [INFO] [stderr] 355 | | to_remove.push(key_sub); [INFO] [stderr] 356 | | } [INFO] [stderr] 357 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 353 | }else if val_sub.is_array() && self.loop_val(key_sub.to_owned(), &mut val_sub, level, indices) { [INFO] [stderr] 354 | to_remove.push(key_sub); [INFO] [stderr] 355 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | return new_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | return n; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:545:19 [INFO] [stderr] | [INFO] [stderr] 545 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) { [INFO] [stderr] | ___________________^ [INFO] [stderr] 546 | | if self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 547 | | self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap().push(value); [INFO] [stderr] 548 | | } [INFO] [stderr] 549 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 545 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) && self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 546 | self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap().push(value); [INFO] [stderr] 547 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:579:19 [INFO] [stderr] | [INFO] [stderr] 579 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) { [INFO] [stderr] | ___________________^ [INFO] [stderr] 580 | | if self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 581 | | let arr = self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap(); [INFO] [stderr] 582 | | [INFO] [stderr] ... | [INFO] [stderr] 595 | | } [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 579 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) && self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 580 | let arr = self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap(); [INFO] [stderr] 581 | [INFO] [stderr] 582 | if value.is_u64() { [INFO] [stderr] 583 | let pos = value.as_u64().unwrap() as usize; [INFO] [stderr] 584 | if pos < arr.len() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:589:27 [INFO] [stderr] | [INFO] [stderr] 589 | }else if value.is_string() { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 590 | | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] 591 | | let len = arr.len(); [INFO] [stderr] 592 | | arr.remove(len - 1); [INFO] [stderr] 593 | | } [INFO] [stderr] 594 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | }else if value.is_string() && value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] 590 | let len = arr.len(); [INFO] [stderr] 591 | arr.remove(len - 1); [INFO] [stderr] 592 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:607:9 [INFO] [stderr] | [INFO] [stderr] 607 | return walk(self, 0, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(self, 0, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:614:9 [INFO] [stderr] | [INFO] [stderr] 614 | return walk(self, 0, steps, serde_json::from_str("null").unwrap(), "delete".to_string(), indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(self, 0, steps, serde_json::from_str("null").unwrap(), "delete".to_string(), indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/settings/mod.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return CollectionSettings { [INFO] [stderr] 31 | | users: vec![User { [INFO] [stderr] 32 | | password: "".to_string(), [INFO] [stderr] 33 | | username: "default".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 36 | | }] [INFO] [stderr] 37 | | }; [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | CollectionSettings { [INFO] [stderr] 31 | users: vec![User { [INFO] [stderr] 32 | password: "".to_string(), [INFO] [stderr] 33 | username: "default".to_string(), [INFO] [stderr] 34 | read: true, [INFO] [stderr] 35 | write: true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return utf8_to_string(&buffer[0..filesize]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `utf8_to_string(&buffer[0..filesize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/collection/mod.rs:370:29 [INFO] [stderr] | [INFO] [stderr] 370 | if metadata.len() > 200000 { [INFO] [stderr] | ^^^^^^ help: consider: `200_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:431:9 [INFO] [stderr] | [INFO] [stderr] 431 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:397:17 [INFO] [stderr] | [INFO] [stderr] 397 | / if levels.0 > -1 { [INFO] [stderr] 398 | | if pos.2 != (levels.0 as u64) { [INFO] [stderr] 399 | | continue; [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 397 | if levels.0 > -1 && pos.2 != (levels.0 as u64) { [INFO] [stderr] 398 | continue; [INFO] [stderr] 399 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:463:17 [INFO] [stderr] | [INFO] [stderr] 463 | / if levels.0 > -1 { [INFO] [stderr] 464 | | if pos.2 < (levels.0 as u64) { [INFO] [stderr] 465 | | continue; [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 463 | if levels.0 > -1 && pos.2 < (levels.0 as u64) { [INFO] [stderr] 464 | continue; [INFO] [stderr] 465 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:468:17 [INFO] [stderr] | [INFO] [stderr] 468 | / if levels.1 > -1 { [INFO] [stderr] 469 | | if pos.2 > (levels.1 as u64) { [INFO] [stderr] 470 | | continue; [INFO] [stderr] 471 | | } [INFO] [stderr] 472 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 468 | if levels.1 > -1 && pos.2 > (levels.1 as u64) { [INFO] [stderr] 469 | continue; [INFO] [stderr] 470 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:553:17 [INFO] [stderr] | [INFO] [stderr] 553 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | "max_request_size_bytes": 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:43:37 [INFO] [stderr] | [INFO] [stderr] 43 | max_request_size_bytes: 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | _=> 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | _ => 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:205:19 [INFO] [stderr] | [INFO] [stderr] 205 | }else { [INFO] [stderr] | ___________________^ [INFO] [stderr] 206 | | if modified { [INFO] [stderr] 207 | | (*lock).0 += 1; [INFO] [stderr] 208 | | } [INFO] [stderr] 209 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 205 | }else if modified { [INFO] [stderr] 206 | (*lock).0 += 1; [INFO] [stderr] 207 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:267:19 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(_b) => return json!({"msg": {"op": "update", "indices": msg}}).to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": {"op": "update", "indices": msg}}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:268:19 [INFO] [stderr] | [INFO] [stderr] 268 | Err(e) => return json!({"err": e.to_string()}).to_string() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"err": e.to_string()}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | return json!({"msg": msg}).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": msg}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:320:21 [INFO] [stderr] | [INFO] [stderr] 320 | return data.0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `data.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:322:27 [INFO] [stderr] | [INFO] [stderr] 322 | Err(e) => return e [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:325:19 [INFO] [stderr] | [INFO] [stderr] 325 | Err(e) => return e [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:351:5 [INFO] [stderr] | [INFO] [stderr] 351 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:366:19 [INFO] [stderr] | [INFO] [stderr] 366 | Ok(_m) => return json!({"msg": "inserted document"}).to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": "inserted document"}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:367:19 [INFO] [stderr] | [INFO] [stderr] 367 | Err(e) => return json!({"err": e}).to_string() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"err": e}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return in_ms; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `in_ms` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | return new_n; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `new_n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | return s [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | return (&s[0..i_opening_b]).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(&s[0..i_opening_b]).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return walk(&mut arr[i], step + 1, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(&mut arr[i], step + 1, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | return walk(n.objs.get_mut(steps[step]).unwrap(), step + 1, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(n.objs.get_mut(steps[step]).unwrap(), step + 1, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:255:21 [INFO] [stderr] | [INFO] [stderr] 255 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:258:17 [INFO] [stderr] | [INFO] [stderr] 258 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:285:21 [INFO] [stderr] | [INFO] [stderr] 285 | Some(_b) => return walk_arrs(n, step, steps, value, operator, indices), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk_arrs(n, step, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:286:14 [INFO] [stderr] | [INFO] [stderr] 286 | _ => return walk_objs(n, step, steps, value, operator, indices) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk_objs(n, step, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | / if step == steps.len() -1 { [INFO] [stderr] 279 | | if walk_val(n, step, steps.to_owned(), value.to_owned(), operator.to_owned(), indices) { [INFO] [stderr] 280 | | return true; [INFO] [stderr] 281 | | } [INFO] [stderr] 282 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 278 | if step == steps.len() -1 && walk_val(n, step, steps.to_owned(), value.to_owned(), operator.to_owned(), indices) { [INFO] [stderr] 279 | return true; [INFO] [stderr] 280 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:353:23 [INFO] [stderr] | [INFO] [stderr] 353 | }else if val_sub.is_array() { [INFO] [stderr] | _______________________^ [INFO] [stderr] 354 | | if self.loop_val(key_sub.to_owned(), &mut val_sub, level, indices) { [INFO] [stderr] 355 | | to_remove.push(key_sub); [INFO] [stderr] 356 | | } [INFO] [stderr] 357 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 353 | }else if val_sub.is_array() && self.loop_val(key_sub.to_owned(), &mut val_sub, level, indices) { [INFO] [stderr] 354 | to_remove.push(key_sub); [INFO] [stderr] 355 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | return new_node; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new_node` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | return n; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:545:19 [INFO] [stderr] | [INFO] [stderr] 545 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) { [INFO] [stderr] | ___________________^ [INFO] [stderr] 546 | | if self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 547 | | self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap().push(value); [INFO] [stderr] 548 | | } [INFO] [stderr] 549 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 545 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) && self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 546 | self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap().push(value); [INFO] [stderr] 547 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:579:19 [INFO] [stderr] | [INFO] [stderr] 579 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) { [INFO] [stderr] | ___________________^ [INFO] [stderr] 580 | | if self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 581 | | let arr = self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap(); [INFO] [stderr] 582 | | [INFO] [stderr] ... | [INFO] [stderr] 595 | | } [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 579 | }else if self.data.as_object().unwrap().contains_key(name.as_str()) && self.data.as_object().unwrap().get(name.as_str()).unwrap().is_array() { [INFO] [stderr] 580 | let arr = self.data.as_object_mut().unwrap().get_mut(name.as_str()).unwrap().as_array_mut().unwrap(); [INFO] [stderr] 581 | [INFO] [stderr] 582 | if value.is_u64() { [INFO] [stderr] 583 | let pos = value.as_u64().unwrap() as usize; [INFO] [stderr] 584 | if pos < arr.len() { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/node/mod.rs:589:27 [INFO] [stderr] | [INFO] [stderr] 589 | }else if value.is_string() { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 590 | | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] 591 | | let len = arr.len(); [INFO] [stderr] 592 | | arr.remove(len - 1); [INFO] [stderr] 593 | | } [INFO] [stderr] 594 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | }else if value.is_string() && value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] 590 | let len = arr.len(); [INFO] [stderr] 591 | arr.remove(len - 1); [INFO] [stderr] 592 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:607:9 [INFO] [stderr] | [INFO] [stderr] 607 | return walk(self, 0, steps, value, operator, indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(self, 0, steps, value, operator, indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/node/mod.rs:614:9 [INFO] [stderr] | [INFO] [stderr] 614 | return walk(self, 0, steps, serde_json::from_str("null").unwrap(), "delete".to_string(), indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `walk(self, 0, steps, serde_json::from_str("null").unwrap(), "delete".to_string(), indices)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/settings/mod.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / return CollectionSettings { [INFO] [stderr] 31 | | users: vec![User { [INFO] [stderr] 32 | | password: "".to_string(), [INFO] [stderr] 33 | | username: "default".to_string(), [INFO] [stderr] ... | [INFO] [stderr] 36 | | }] [INFO] [stderr] 37 | | }; [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 30 | CollectionSettings { [INFO] [stderr] 31 | users: vec![User { [INFO] [stderr] 32 | password: "".to_string(), [INFO] [stderr] 33 | username: "default".to_string(), [INFO] [stderr] 34 | read: true, [INFO] [stderr] 35 | write: true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | return utf8_to_string(&buffer[0..filesize]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `utf8_to_string(&buffer[0..filesize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/collection/mod.rs:370:29 [INFO] [stderr] | [INFO] [stderr] 370 | if metadata.len() > 200000 { [INFO] [stderr] | ^^^^^^ help: consider: `200_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:431:9 [INFO] [stderr] | [INFO] [stderr] 431 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:397:17 [INFO] [stderr] | [INFO] [stderr] 397 | / if levels.0 > -1 { [INFO] [stderr] 398 | | if pos.2 != (levels.0 as u64) { [INFO] [stderr] 399 | | continue; [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 397 | if levels.0 > -1 && pos.2 != (levels.0 as u64) { [INFO] [stderr] 398 | continue; [INFO] [stderr] 399 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:532:9 [INFO] [stderr] | [INFO] [stderr] 532 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:463:17 [INFO] [stderr] | [INFO] [stderr] 463 | / if levels.0 > -1 { [INFO] [stderr] 464 | | if pos.2 < (levels.0 as u64) { [INFO] [stderr] 465 | | continue; [INFO] [stderr] 466 | | } [INFO] [stderr] 467 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 463 | if levels.0 > -1 && pos.2 < (levels.0 as u64) { [INFO] [stderr] 464 | continue; [INFO] [stderr] 465 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/collection/mod.rs:468:17 [INFO] [stderr] | [INFO] [stderr] 468 | / if levels.1 > -1 { [INFO] [stderr] 469 | | if pos.2 > (levels.1 as u64) { [INFO] [stderr] 470 | | continue; [INFO] [stderr] 471 | | } [INFO] [stderr] 472 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 468 | if levels.1 > -1 && pos.2 > (levels.1 as u64) { [INFO] [stderr] 469 | continue; [INFO] [stderr] 470 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collection/mod.rs:553:17 [INFO] [stderr] | [INFO] [stderr] 553 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:33:39 [INFO] [stderr] | [INFO] [stderr] 33 | "max_request_size_bytes": 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:43:37 [INFO] [stderr] | [INFO] [stderr] 43 | max_request_size_bytes: 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:104:37 [INFO] [stderr] | [INFO] [stderr] 104 | _=> 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/settings/mod.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | _ => 100000 [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:205:19 [INFO] [stderr] | [INFO] [stderr] 205 | }else { [INFO] [stderr] | ___________________^ [INFO] [stderr] 206 | | if modified { [INFO] [stderr] 207 | | (*lock).0 += 1; [INFO] [stderr] 208 | | } [INFO] [stderr] 209 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 205 | }else if modified { [INFO] [stderr] 206 | (*lock).0 += 1; [INFO] [stderr] 207 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:267:19 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(_b) => return json!({"msg": {"op": "update", "indices": msg}}).to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": {"op": "update", "indices": msg}}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:268:19 [INFO] [stderr] | [INFO] [stderr] 268 | Err(e) => return json!({"err": e.to_string()}).to_string() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"err": e.to_string()}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | return json!({"msg": msg}).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": msg}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:320:21 [INFO] [stderr] | [INFO] [stderr] 320 | return data.0 [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `data.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:322:27 [INFO] [stderr] | [INFO] [stderr] 322 | Err(e) => return e [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:325:19 [INFO] [stderr] | [INFO] [stderr] 325 | Err(e) => return e [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:351:5 [INFO] [stderr] | [INFO] [stderr] 351 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:366:19 [INFO] [stderr] | [INFO] [stderr] 366 | Ok(_m) => return json!({"msg": "inserted document"}).to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"msg": "inserted document"}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:367:19 [INFO] [stderr] | [INFO] [stderr] 367 | Err(e) => return json!({"err": e}).to_string() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `json!({"err": e}).to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collection/node/mod.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | let mut arr = n.arrs.get_mut(step_no_brackets.as_str()).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/collection/node/mod.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | let mut vals_only = self.data.as_object_mut().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/collection/node/mod.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | let mut arr = n.arrs.get_mut(step_no_brackets.as_str()).unwrap(); [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: variable does not need to be mutable [INFO] [stderr] --> src/collection/node/mod.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | let mut vals_only = self.data.as_object_mut().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/collection/node/mod.rs:553:21 [INFO] [stderr] | [INFO] [stderr] 553 | let mut arr = self.arrs.get_mut(name.as_str()).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/collection/node/mod.rs:553:21 [INFO] [stderr] | [INFO] [stderr] 553 | let mut arr = self.arrs.get_mut(name.as_str()).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `id` [INFO] [stderr] --> src/threadpool/mod.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero` [INFO] [stderr] --> src/http/mod.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn zero() -> Request { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/collection/node/mod.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | since_the_epoch.subsec_nanos() as u64 / 1_000_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(since_the_epoch.subsec_nanos())` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:59:8 [INFO] [stderr] | [INFO] [stderr] 59 | if key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key.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: manual implementation of an assign operation [INFO] [stderr] --> src/collection/node/mod.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | k = k + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `k += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:105:8 [INFO] [stderr] | [INFO] [stderr] 105 | if index.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!index.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | let i_opening_b = match s.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:117:36 [INFO] [stderr] | [INFO] [stderr] 117 | let i_closing_b = match s.find("]") { [INFO] [stderr] | ^^^ help: try using a char instead: `']'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | let i_opening_b = match s.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:145:36 [INFO] [stderr] | [INFO] [stderr] 145 | let i_closing_b = match s.find("]") { [INFO] [stderr] | ^^^ help: try using a char instead: `']'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:166:8 [INFO] [stderr] | [INFO] [stderr] 166 | if n.arrs.contains_key(step_no_brackets.as_str()) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!n.arrs.contains_key(step_no_brackets.as_str())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | match prop_name.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:284:28 [INFO] [stderr] | [INFO] [stderr] 284 | match steps[step].find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: field is never used: `id` [INFO] [stderr] --> src/threadpool/mod.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | id: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero` [INFO] [stderr] --> src/http/mod.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn zero() -> Request { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `to_remove` [INFO] [stderr] --> src/collection/node/mod.rs:331:22 [INFO] [stderr] | [INFO] [stderr] 331 | for i in 0..to_remove.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 331 | for (i, ) in to_remove.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `to_remove`. [INFO] [stderr] --> src/collection/node/mod.rs:360:22 [INFO] [stderr] | [INFO] [stderr] 360 | for i in 0..to_remove.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 360 | for in &to_remove { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/collection/node/mod.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | since_the_epoch.subsec_nanos() as u64 / 1_000_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(since_the_epoch.subsec_nanos())` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:59:8 [INFO] [stderr] | [INFO] [stderr] 59 | if key.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!key.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: manual implementation of an assign operation [INFO] [stderr] --> src/collection/node/mod.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | k = k + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `k += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if self.data.is_object() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.data.is_object()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:429:28 [INFO] [stderr] | [INFO] [stderr] 429 | if self.arrs.contains_key(k.as_str()) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.arrs.contains_key(k.as_str())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/collection/node/mod.rs:469:5 [INFO] [stderr] | [INFO] [stderr] 469 | / pub fn set_property(&mut self, name: String, value: Value, operator: String, indices: &mut HashMap) { [INFO] [stderr] 470 | | if operator == "delete" { [INFO] [stderr] 471 | | if self.objs.contains_key(name.as_str()) { [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] 472 | | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] ... | [INFO] [stderr] --> src/collection/node/mod.rs:105:8 [INFO] [stderr] 600 | | } [INFO] [stderr] 601 | | } [INFO] [stderr] | [INFO] [stderr] | |_____^ [INFO] [stderr] 105 | if index.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!index.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | let i_opening_b = match s.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:117:36 [INFO] [stderr] | [INFO] [stderr] 117 | let i_closing_b = match s.find("]") { [INFO] [stderr] | ^^^ help: try using a char instead: `']'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:140:36 [INFO] [stderr] | [INFO] [stderr] 140 | let i_opening_b = match s.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:145:36 [INFO] [stderr] | [INFO] [stderr] 145 | let i_closing_b = match s.find("]") { [INFO] [stderr] | ^^^ help: try using a char instead: `']'` [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:472:17 [INFO] [stderr] | [INFO] [stderr] 472 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:477:26 [INFO] [stderr] | [INFO] [stderr] 477 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:492:30 [INFO] [stderr] | [INFO] [stderr] 492 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:517:21 [INFO] [stderr] | [INFO] [stderr] 517 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:166:8 [INFO] [stderr] | [INFO] [stderr] 166 | if n.arrs.contains_key(step_no_brackets.as_str()) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!n.arrs.contains_key(step_no_brackets.as_str())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:529:21 [INFO] [stderr] | [INFO] [stderr] 529 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:534:30 [INFO] [stderr] | [INFO] [stderr] 534 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [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: called `.get_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:558:25 [INFO] [stderr] | [INFO] [stderr] 558 | arr.get_mut(pos).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[pos]` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:562:61 [INFO] [stderr] | [INFO] [stderr] 562 | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arr.is_empty()` [INFO] [stderr] | [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_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:564:25 [INFO] [stderr] | [INFO] [stderr] 564 | arr.get_mut(len - 1).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[len - 1]` [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: called `.get_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:571:33 [INFO] [stderr] | [INFO] [stderr] 571 | arr.get_mut(i).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[i]` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:590:65 [INFO] [stderr] | [INFO] [stderr] 590 | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arr.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:605:32 [INFO] [stderr] | [INFO] [stderr] 605 | let steps = path.split(".").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:612:32 [INFO] [stderr] | [INFO] [stderr] 612 | let steps = path.split(".").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | match prop_name.find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:284:28 [INFO] [stderr] | [INFO] [stderr] 284 | match steps[step].find("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/collection/node/mod.rs:668:31 [INFO] [stderr] | [INFO] [stderr] 668 | pub fn raw_data(&self) -> Result<(String, HashMap), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `to_remove` [INFO] [stderr] --> src/collection/node/mod.rs:331:22 [INFO] [stderr] | [INFO] [stderr] 331 | for i in 0..to_remove.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 331 | for (i, ) in to_remove.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `to_remove`. [INFO] [stderr] --> src/collection/node/mod.rs:360:22 [INFO] [stderr] | [INFO] [stderr] 360 | for i in 0..to_remove.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 360 | for in &to_remove { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/collection/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | data.read(&mut buffer).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:70:19 [INFO] [stderr] | [INFO] [stderr] 70 | let updated = match is_update && n.level > 0 { [INFO] [stderr] | ___________________^ [INFO] [stderr] 71 | | true => 1, [INFO] [stderr] 72 | | false => 0 [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_update && n.level > 0 { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/mod.rs:108:44 [INFO] [stderr] | [INFO] [stderr] 108 | let mut ws = v[1].trim().split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if self.data.is_object() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.data.is_object()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/node/mod.rs:429:28 [INFO] [stderr] | [INFO] [stderr] 429 | if self.arrs.contains_key(k.as_str()) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.arrs.contains_key(k.as_str())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 37 [INFO] [stderr] --> src/collection/node/mod.rs:469:5 [INFO] [stderr] | [INFO] [stderr] 469 | / pub fn set_property(&mut self, name: String, value: Value, operator: String, indices: &mut HashMap) { [INFO] [stderr] 470 | | if operator == "delete" { [INFO] [stderr] 471 | | if self.objs.contains_key(name.as_str()) { [INFO] [stderr] 472 | | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] ... | [INFO] [stderr] 600 | | } [INFO] [stderr] 601 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/mod.rs:206:25 [INFO] [stderr] | [INFO] [stderr] 206 | let index = clone.get(obj.index.as_str()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&clone[obj.index.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/mod.rs:225:29 [INFO] [stderr] | [INFO] [stderr] 225 | let index = clone.get(obj.index.as_str()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&clone[obj.index.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:472:17 [INFO] [stderr] | [INFO] [stderr] 472 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:477:26 [INFO] [stderr] | [INFO] [stderr] 477 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/mod.rs:270:44 [INFO] [stderr] | [INFO] [stderr] 270 | let mut ws = v[1].trim().split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:492:30 [INFO] [stderr] | [INFO] [stderr] 492 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:517:21 [INFO] [stderr] | [INFO] [stderr] 517 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:529:21 [INFO] [stderr] | [INFO] [stderr] 529 | self.objs.get(name.as_str()).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.objs[name.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:534:30 [INFO] [stderr] | [INFO] [stderr] 534 | for n in self.arrs.get(name.as_str()).unwrap() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.arrs[name.as_str()]` [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: called `.get_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:558:25 [INFO] [stderr] | [INFO] [stderr] 558 | arr.get_mut(pos).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[pos]` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:562:61 [INFO] [stderr] | [INFO] [stderr] 562 | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arr.is_empty()` [INFO] [stderr] | [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_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:564:25 [INFO] [stderr] | [INFO] [stderr] 564 | arr.get_mut(len - 1).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[len - 1]` [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: called `.get_mut().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/node/mod.rs:571:33 [INFO] [stderr] | [INFO] [stderr] 571 | arr.get_mut(i).unwrap().delete(indices); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `arr[i]` [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: length comparison to zero [INFO] [stderr] --> src/collection/node/mod.rs:590:65 [INFO] [stderr] | [INFO] [stderr] 590 | if value.as_str().unwrap() == "last" && arr.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!arr.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:605:32 [INFO] [stderr] | [INFO] [stderr] 605 | let steps = path.split(".").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/node/mod.rs:612:32 [INFO] [stderr] | [INFO] [stderr] 612 | let steps = path.split(".").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `'.'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/collection/node/mod.rs:668:31 [INFO] [stderr] | [INFO] [stderr] 668 | pub fn raw_data(&self) -> Result<(String, HashMap), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:389:20 [INFO] [stderr] | [INFO] [stderr] 389 | let from = match skiplimit.0 > -1 { [INFO] [stderr] | ____________________^ [INFO] [stderr] 390 | | true => skiplimit.0 as u64, [INFO] [stderr] 391 | | false => 0 [INFO] [stderr] 392 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if skiplimit.0 > -1 { skiplimit.0 as u64 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | while start_file_num != new_file_num && exit == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!exit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/collection/mod.rs:442:12 [INFO] [stderr] | [INFO] [stderr] 442 | if query.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `query.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:443:30 [INFO] [stderr] | [INFO] [stderr] 443 | let new_levels = match levels.0 > -1 { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 444 | | true => levels, [INFO] [stderr] 445 | | false => (0, levels.1) [INFO] [stderr] 446 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if levels.0 > -1 { levels } else { (0, levels.1) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:455:20 [INFO] [stderr] | [INFO] [stderr] 455 | let from = match skiplimit.0 > -1 { [INFO] [stderr] | ____________________^ [INFO] [stderr] 456 | | true => skiplimit.0 as u64, [INFO] [stderr] 457 | | false => 0 [INFO] [stderr] 458 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if skiplimit.0 > -1 { skiplimit.0 as u64 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:461:49 [INFO] [stderr] | [INFO] [stderr] 461 | while start_file_num != new_file_num && exit == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!exit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/collection/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | data.read(&mut buffer).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collection/mod.rs:560:37 [INFO] [stderr] | [INFO] [stderr] 560 | pub fn delete(&mut self, nodes: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Node]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:607:24 [INFO] [stderr] | [INFO] [stderr] 607 | if res == false { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:70:19 [INFO] [stderr] | [INFO] [stderr] 70 | let updated = match is_update && n.level > 0 { [INFO] [stderr] | ___________________^ [INFO] [stderr] 71 | | true => 1, [INFO] [stderr] 72 | | false => 0 [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_update && n.level > 0 { 1 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/collection/mod.rs:108:44 [INFO] [stderr] | [INFO] [stderr] 108 | let mut ws = v[1].trim().split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/http/mod.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | body = match tmp.find("\u{0000}") { [INFO] [stderr] | ^^^^^^^^^^ help: try using a char instead: `'\u{0000}'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/mod.rs:206:25 [INFO] [stderr] | [INFO] [stderr] 206 | let index = clone.get(obj.index.as_str()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&clone[obj.index.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/collection/mod.rs:225:29 [INFO] [stderr] | [INFO] [stderr] 225 | let index = clone.get(obj.index.as_str()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&clone[obj.index.as_str()]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | let username = req.headers.get("username").unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&req.headers["username"]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:113:28 [INFO] [stderr] | [INFO] [stderr] 113 | let password = req.headers.get("password").unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&req.headers["password"]` [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: single-character string constant used as pattern [INFO] [stderr] --> src/collection/mod.rs:270:44 [INFO] [stderr] | [INFO] [stderr] 270 | let mut ws = v[1].trim().split(","); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:178:21 [INFO] [stderr] | [INFO] [stderr] 178 | / let mut operator = "set"; [INFO] [stderr] 179 | | [INFO] [stderr] 180 | | if req.parameters.contains_key("op") { [INFO] [stderr] 181 | | operator = req.parameters["op"].as_str(); [INFO] [stderr] 182 | | } [INFO] [stderr] | |_____________________^ help: it is more idiomatic to write: `let operator = if req.parameters.contains_key("op") { req.parameters["op"].as_str() } else { "set" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/main.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | stream.write(response.to_string().as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:228:1 [INFO] [stderr] | [INFO] [stderr] 228 | / fn update(username: String, password: String, collection: String, query: String, property: String, body: String, operator: String, levels: (i64, i64), skiplimit: (i64, i64)) -> String { [INFO] [stderr] 229 | | let path = env::current_dir().unwrap(); [INFO] [stderr] 230 | | let mut col = Collection::new(format!("{}/collections/{}", path.display(), collection), password, username); [INFO] [stderr] 231 | | [INFO] [stderr] ... | [INFO] [stderr] 270 | | [INFO] [stderr] 271 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 275 | if collection.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `collection.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/main.rs:299:16 [INFO] [stderr] | [INFO] [stderr] 299 | if res == false { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:389:20 [INFO] [stderr] | [INFO] [stderr] 389 | let from = match skiplimit.0 > -1 { [INFO] [stderr] | ____________________^ [INFO] [stderr] 390 | | true => skiplimit.0 as u64, [INFO] [stderr] 391 | | false => 0 [INFO] [stderr] 392 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if skiplimit.0 > -1 { skiplimit.0 as u64 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:395:49 [INFO] [stderr] | [INFO] [stderr] 395 | while start_file_num != new_file_num && exit == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!exit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/collection/mod.rs:442:12 [INFO] [stderr] | [INFO] [stderr] 442 | if query.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `query.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:443:30 [INFO] [stderr] | [INFO] [stderr] 443 | let new_levels = match levels.0 > -1 { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 444 | | true => levels, [INFO] [stderr] 445 | | false => (0, levels.1) [INFO] [stderr] 446 | | }; [INFO] [stderr] | |_____________^ help: consider using an if/else expression: `if levels.0 > -1 { levels } else { (0, levels.1) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/collection/mod.rs:455:20 [INFO] [stderr] | [INFO] [stderr] 455 | let from = match skiplimit.0 > -1 { [INFO] [stderr] | ____________________^ [INFO] [stderr] 456 | | true => skiplimit.0 as u64, [INFO] [stderr] 457 | | false => 0 [INFO] [stderr] 458 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if skiplimit.0 > -1 { skiplimit.0 as u64 } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:461:49 [INFO] [stderr] | [INFO] [stderr] 461 | while start_file_num != new_file_num && exit == false { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try simplifying it as shown: `!exit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collection/mod.rs:560:37 [INFO] [stderr] | [INFO] [stderr] 560 | pub fn delete(&mut self, nodes: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Node]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/collection/mod.rs:607:24 [INFO] [stderr] | [INFO] [stderr] 607 | if res == false { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/http/mod.rs:113:35 [INFO] [stderr] | [INFO] [stderr] 113 | body = match tmp.find("\u{0000}") { [INFO] [stderr] | ^^^^^^^^^^ help: try using a char instead: `'\u{0000}'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] error: Could not compile `amitdb`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:112:28 [INFO] [stderr] | [INFO] [stderr] 112 | let username = req.headers.get("username").unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&req.headers["username"]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:113:28 [INFO] [stderr] | [INFO] [stderr] 113 | let password = req.headers.get("password").unwrap().to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&req.headers["password"]` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:178:21 [INFO] [stderr] | [INFO] [stderr] 178 | / let mut operator = "set"; [INFO] [stderr] 179 | | [INFO] [stderr] 180 | | if req.parameters.contains_key("op") { [INFO] [stderr] 181 | | operator = req.parameters["op"].as_str(); [INFO] [stderr] 182 | | } [INFO] [stderr] | |_____________________^ help: it is more idiomatic to write: `let operator = if req.parameters.contains_key("op") { req.parameters["op"].as_str() } else { "set" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/main.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | stream.write(response.to_string().as_bytes()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:228:1 [INFO] [stderr] | [INFO] [stderr] 228 | / fn update(username: String, password: String, collection: String, query: String, property: String, body: String, operator: String, levels: (i64, i64), skiplimit: (i64, i64)) -> String { [INFO] [stderr] 229 | | let path = env::current_dir().unwrap(); [INFO] [stderr] 230 | | let mut col = Collection::new(format!("{}/collections/{}", path.display(), collection), password, username); [INFO] [stderr] 231 | | [INFO] [stderr] ... | [INFO] [stderr] 270 | | [INFO] [stderr] 271 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:275:8 [INFO] [stderr] | [INFO] [stderr] 275 | if collection.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `collection.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/main.rs:299:16 [INFO] [stderr] | [INFO] [stderr] 299 | if res == false { [INFO] [stderr] | ^^^^^^^^^^^^ help: try simplifying it as shown: `!res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `amitdb`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "0fd87e964cf7534bd30e9f62e019946bcd0d2123d0fc6b6ba8e3961899635c29"` [INFO] running `"docker" "rm" "-f" "0fd87e964cf7534bd30e9f62e019946bcd0d2123d0fc6b6ba8e3961899635c29"` [INFO] [stdout] 0fd87e964cf7534bd30e9f62e019946bcd0d2123d0fc6b6ba8e3961899635c29