[INFO] cloning repository https://github.com/samuelorji/MichelleDB [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/samuelorji/MichelleDB" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamuelorji%2FMichelleDB", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamuelorji%2FMichelleDB'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 928c79f7773b7c6dae413a91dce88e42aa51031a [INFO] testing samuelorji/MichelleDB against 1.84.0 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamuelorji%2FMichelleDB" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/samuelorji/MichelleDB on toolchain 1.84.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/samuelorji/MichelleDB [INFO] finished tweaking git repo https://github.com/samuelorji/MichelleDB [INFO] tweaked toml for git repo https://github.com/samuelorji/MichelleDB written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/samuelorji/MichelleDB already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f93483d4379e51efcf605f1dccdaa3d4e8097e2d8dee7c8de4985ae5d2f4e258 [INFO] running `Command { std: "docker" "start" "-a" "f93483d4379e51efcf605f1dccdaa3d4e8097e2d8dee7c8de4985ae5d2f4e258", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f93483d4379e51efcf605f1dccdaa3d4e8097e2d8dee7c8de4985ae5d2f4e258", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f93483d4379e51efcf605f1dccdaa3d4e8097e2d8dee7c8de4985ae5d2f4e258", kill_on_drop: false }` [INFO] [stdout] f93483d4379e51efcf605f1dccdaa3d4e8097e2d8dee7c8de4985ae5d2f4e258 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 678cc6176f62ef173263b93c50c263920080b4bf6e2fa48d195a7d87d299d136 [INFO] running `Command { std: "docker" "start" "-a" "678cc6176f62ef173263b93c50c263920080b4bf6e2fa48d195a7d87d299d136", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling unicode-ident v1.0.3 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling bytes v1.2.1 [INFO] [stderr] Compiling pin-project-lite v0.2.9 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Compiling itoa v1.0.3 [INFO] [stderr] Compiling once_cell v1.14.0 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling futures-task v0.3.24 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling tracing-core v0.1.29 [INFO] [stderr] Compiling futures-util v0.3.24 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling percent-encoding v2.2.0 [INFO] [stderr] Compiling futures-sink v0.3.24 [INFO] [stderr] Compiling tracing v0.1.36 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.3 [INFO] [stderr] Compiling tinyvec_macros v0.1.0 [INFO] [stderr] Compiling http v0.2.8 [INFO] [stderr] Compiling bytestring v1.1.0 [INFO] [stderr] Compiling generic-array v0.14.6 [INFO] [stderr] Compiling regex-syntax v0.6.27 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Compiling local-waker v0.1.3 [INFO] [stderr] Compiling aho-corasick v0.7.19 [INFO] [stderr] Compiling lock_api v0.4.8 [INFO] [stderr] Compiling tokio v1.21.0 [INFO] [stderr] Compiling slab v0.4.7 [INFO] [stderr] Compiling jobserver v0.1.24 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling socket2 v0.4.7 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling getrandom v0.2.7 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling alloc-stdlib v0.2.1 [INFO] [stderr] Compiling firestorm v0.5.1 [INFO] [stderr] Compiling encoding_rs v0.8.31 [INFO] [stderr] Compiling ppv-lite86 v0.2.16 [INFO] [stderr] Compiling paste v1.0.9 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling miniz_oxide v0.5.4 [INFO] [stderr] Compiling brotli-decompressor v2.3.2 [INFO] [stderr] Compiling actix-utils v3.0.0 [INFO] [stderr] Compiling cookie v0.16.0 [INFO] [stderr] Compiling form_urlencoded v1.1.0 [INFO] [stderr] Compiling ryu v1.0.11 [INFO] [stderr] Compiling actix-service v2.0.2 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Compiling unicode-bidi v0.3.8 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling time-macros v0.2.4 [INFO] [stderr] Compiling cpufeatures v0.2.5 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling zstd-sys v2.0.1+zstd.1.5.2 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling num_threads v0.1.6 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling unicode-normalization v0.1.21 [INFO] [stderr] Compiling flate2 v1.0.24 [INFO] [stderr] Compiling block-buffer v0.10.3 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.10.3 [INFO] [stderr] Compiling sha1 v0.10.4 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Compiling language-tags v0.3.2 [INFO] [stderr] Compiling brotli v3.3.4 [INFO] [stderr] Compiling regex v1.6.0 [INFO] [stderr] Compiling idna v0.3.0 [INFO] [stderr] Compiling httpdate v1.0.2 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling uuid v1.1.2 [INFO] [stderr] Compiling sha1_smol v1.0.0 [INFO] [stderr] Compiling local-channel v0.1.3 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Compiling url v2.3.1 [INFO] [stderr] Compiling time v0.3.14 [INFO] [stderr] Compiling actix-router v0.5.0 [INFO] [stderr] Compiling tokio-macros v1.8.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling actix-web-codegen v4.0.1 [INFO] [stderr] Compiling actix-macros v0.2.3 [INFO] [stderr] Compiling tokio-util v0.7.4 [INFO] [stderr] Compiling actix-rt v2.7.0 [INFO] [stderr] Compiling actix-server v2.1.1 [INFO] [stderr] Compiling h2 v0.3.14 [INFO] [stderr] Compiling actix-codec v0.5.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Compiling actix-http v3.2.1 [INFO] [stderr] Compiling actix-web v4.1.0 [INFO] [stderr] Compiling michelledb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/server.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Error` [INFO] [stdout] --> src/server.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Map` [INFO] [stdout] --> src/server.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::iter::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse` and `error` [INFO] [stdout] --> src/server.rs:8:38 [INFO] [stdout] | [INFO] [stdout] 8 | use actix_web::{App, HttpServer, web,error,HttpResponse}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/server.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Document` [INFO] [stdout] --> src/server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::Document; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::service::Service` [INFO] [stdout] --> src/server.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::service::Service; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/routes.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/routes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DirEntry` and `read` [INFO] [stdout] --> src/routes.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{DirEntry, read}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/routes.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Iter` [INFO] [stdout] --> src/routes.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::option::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/routes.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/routes.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stdout] --> src/routes.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::dev::ResourcePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::error` [INFO] [stdout] --> src/routes.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use actix_web::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Data` and `Json` [INFO] [stdout] --> src/routes.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | use actix_web::web::{Data, Json}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Number` and `Value` [INFO] [stdout] --> src/routes.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use serde_json::{Number, Value}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/routes.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/routes.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DocumentResult`, `QueryComparison`, `QueryOp`, `get_path_values`, and `parseQuery` [INFO] [stdout] --> src/routes.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::lexer::{DocumentResult, get_path_values, parseQuery, QueryComparison, QueryOp}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Map` [INFO] [stdout] --> src/routes.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use serde_json::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `WalkDir` [INFO] [stdout] --> src/routes.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use walkdir::{Error, WalkDir}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DocumentResponse` [INFO] [stdout] --> src/routes.rs:22:22 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::service::{DocumentResponse, QueryParams, Service}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/db.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/db.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Filter` [INFO] [stdout] --> src/db.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::Filter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stdout] --> src/db.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::de::Unexpected::Str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IntoIter` [INFO] [stdout] --> src/db.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use walkdir::{IntoIter, WalkDir}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (dir.exists() && indexDir.exists()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (dir.exists() && indexDir.exists()) { [INFO] [stdout] 32 + if dir.exists() && indexDir.exists() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 57 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] 57 + if e.kind() == ErrorKind::NotFound { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 74 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] 74 + if e.kind() == ErrorKind::NotFound { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | if(result.is_null()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - if(result.is_null()) { [INFO] [stdout] 22 + if result.is_null() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | if(result.is_null()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - if(result.is_null()){ [INFO] [stdout] 37 + if result.is_null() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:117:7 [INFO] [stdout] | [INFO] [stdout] 117 | if(index >= input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 117 - if(index >= input.len()){ [INFO] [stdout] 117 + if index >= input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if (input[index] == b'"'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - if (input[index] == b'"'){ [INFO] [stdout] 121 + if input[index] == b'"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:126:14 [INFO] [stdout] | [INFO] [stdout] 126 | while(index < input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - while(index < input.len()){ [INFO] [stdout] 126 + while index < input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | if(input[index] == b'"'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if(input[index] == b'"'){ [INFO] [stdout] 127 + if input[index] == b'"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | if(!found_end) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - if(!found_end) { [INFO] [stdout] 134 + if !found_end { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | while(index < input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 144 - while(index < input.len()){ [INFO] [stdout] 144 + while index < input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 146 - if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stdout] 146 + if !(c.is_ascii_alphanumeric() || c == b'.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | if(s.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 152 - if(s.is_empty()){ [INFO] [stdout] 152 + if s.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:169:36 [INFO] [stdout] | [INFO] [stdout] 169 | let prefix = if(pref.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 169 - let prefix = if(pref.is_empty()){ [INFO] [stdout] 169 + let prefix = if pref.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:178:23 [INFO] [stdout] | [INFO] [stdout] 178 | if(!pref.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if(!pref.is_empty()){ [INFO] [stdout] 178 + if !pref.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | while(i < query.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 203 - while(i < query.len()){ [INFO] [stdout] 203 + while i < query.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:206:15 [INFO] [stdout] | [INFO] [stdout] 206 | if(query[i].is_ascii_whitespace()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 206 - if(query[i].is_ascii_whitespace()){ [INFO] [stdout] 206 + if query[i].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | if(query[nextIndex] != b':'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 215 - if(query[nextIndex] != b':'){ [INFO] [stdout] 215 + if query[nextIndex] != b':' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stdout] --> src/lexer.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | use serde::de::Unexpected::Str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/lexer.rs:258:22 [INFO] [stdout] | [INFO] [stdout] 258 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/lexer.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DirEntry` and `read` [INFO] [stdout] --> src/service.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{DirEntry, read}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Iter` [INFO] [stdout] --> src/service.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::option::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/service.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`, `Responder`, `get`, and `post` [INFO] [stdout] --> src/service.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use actix_web::{HttpRequest, HttpResponse, Responder, web, get, post}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::error` [INFO] [stdout] --> src/service.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use actix_web::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Json` [INFO] [stdout] --> src/service.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use actix_web::web::{Data, Json}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `WalkDir` [INFO] [stdout] --> src/service.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use walkdir::{Error, WalkDir}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | if (idsString.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (idsString.is_empty()) { [INFO] [stdout] 101 + if idsString.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | if (!found) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (!found) { [INFO] [stdout] 113 + if !found { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:214:20 [INFO] [stdout] | [INFO] [stdout] 214 | if (matchedIds.is_empty() && skipIndex) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 214 - if (matchedIds.is_empty() && skipIndex) { [INFO] [stdout] 214 + if matchedIds.is_empty() && skipIndex { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:228:32 [INFO] [stdout] | [INFO] [stdout] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 228 - if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] 228 + if nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:264:32 [INFO] [stdout] | [INFO] [stdout] 264 | ... if (is_match) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 264 - if (is_match) { [INFO] [stdout] 264 + if is_match { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/main.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{fmt::format, io, net::TcpListener}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App`, `HttpRequest`, `HttpResponse`, `HttpServer`, `Responder`, and `web` [INFO] [stdout] --> src/main.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::{App, HttpRequest, HttpResponse, HttpServer, Responder, web}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `walkdir::WalkDir` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use walkdir::WalkDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead. [INFO] [stdout] --> src/db.rs:23:37 [INFO] [stdout] | [INFO] [stdout] 23 | let dbDir = match std::env::home_dir() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn greet(req: HttpRequest) -> HttpResponse { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stdout] --> src/service.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::dev::ResourcePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `s` is never read [INFO] [stdout] --> src/lexer.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut s = ""; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `u_key` is never read [INFO] [stdout] --> src/lexer.rs:177:29 [INFO] [stdout] | [INFO] [stdout] 177 | let mut u_key = String::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/lexer.rs:247:18 [INFO] [stdout] | [INFO] [stdout] 247 | Err((e,at)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queryComparison` [INFO] [stdout] --> src/service.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for queryComparison in &queryComparisons {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queryComparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `document` [INFO] [stdout] --> src/service.rs:63:29 [INFO] [stdout] | [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/service.rs:84:37 [INFO] [stdout] | [INFO] [stdout] 84 | }).map_err(|e|io::Error::from(ErrorKind::InvalidData) ) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matchedIds` [INFO] [stdout] --> src/service.rs:184:33 [INFO] [stdout] | [INFO] [stdout] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matchedIds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/service.rs:200:51 [INFO] [stdout] | [INFO] [stdout] 200 | ... .filter(|(key, value)| **value == equalQueryCount) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/service.rs:201:51 [INFO] [stdout] | [INFO] [stdout] 201 | ... .map(|(k, v)| k.to_owned()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index_lookup` is never used [INFO] [stdout] --> src/db.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DB { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matchDocument` is never used [INFO] [stdout] --> src/service.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 62 | impl QueryParams { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `reIndex` is never used [INFO] [stdout] --> src/service.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl Service { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 72 | [INFO] [stdout] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addDoc` should have a snake case name [INFO] [stdout] --> src/routes.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getById` should have a snake case name [INFO] [stdout] --> src/routes.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getDoc` should have a snake case name [INFO] [stdout] --> src/routes.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `get_doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResponse` should have a snake case name [INFO] [stdout] --> src/routes.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(Ok(documentResponse)) => HttpResponse::Ok().json(documentResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dbDir` should have a snake case name [INFO] [stdout] --> src/db.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub dbDir: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub indexDir: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dbDir` should have a snake case name [INFO] [stdout] --> src/db.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let dbDir = match std::env::home_dir() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let indexDir = format!("{}.index", &dbDir); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let indexDir = Path::new(&indexDir); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getById` should have a snake case name [INFO] [stdout] --> src/db.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getById(&self, id: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValue` should have a snake case name [INFO] [stdout] --> src/db.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn get_indexed_document(&self, pathValue: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValue` should have a snake case name [INFO] [stdout] --> src/db.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `fileContents` should have a snake case name [INFO] [stdout] --> src/db.rs:103:27 [INFO] [stdout] | [INFO] [stdout] 103 | .map(|fileContents| fileContents.split(",").map(|e| e.to_string()).collect::>()) [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `file_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lexString` should have a snake case name [INFO] [stdout] --> src/lexer.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn lexString(input : &[u8], mut index : usize) -> Result<(&str, usize), (&str,usize)> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lex_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseQuery` should have a snake case name [INFO] [stdout] --> src/lexer.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn parseQuery<'a>(query : &'a[u8]) -> Result>, String> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parse_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nextIndex` should have a snake case name [INFO] [stdout] --> src/lexer.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | Ok((key,nextIndex)) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nextIndex` should have a snake case name [INFO] [stdout] --> src/lexer.rs:232:31 [INFO] [stdout] | [INFO] [stdout] 232 | Ok((value,nextIndex)) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_Map` should have a snake case name [INFO] [stdout] --> src/service.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn from_Map(id :&str, result: Map) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `from_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fromDocumentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn fromDocumentResult(result : DocumentResult) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `from_document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_HashMap` should have a snake case name [INFO] [stdout] --> src/service.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn from_HashMap(result: HashMap) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_hash_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `skipIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | skipIndex: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matchDocument` should have a snake case name [INFO] [stdout] --> src/service.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `match_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let queryComparisons = parseQuery(self.q.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for queryComparison in &queryComparisons {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `re_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `filePath` should have a snake case name [INFO] [stdout] --> src/service.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | .and_then(|filePath| { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `osStr` should have a snake case name [INFO] [stdout] --> src/service.rs:82:83 [INFO] [stdout] | [INFO] [stdout] 82 | ... let file_name = filePath.path().file_name().and_then(|osStr| osStr.to_str()).unwrap(); [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `os_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValues` should have a snake case name [INFO] [stdout] --> src/service.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let pathValues = get_path_values(document, String::new()); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `path_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idsString` should have a snake case name [INFO] [stdout] --> src/service.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(mut idsString) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `ids_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exisitingId` should have a snake case name [INFO] [stdout] --> src/service.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | for exisitingId in ids { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `exisiting_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `addDoc` should have a snake case name [INFO] [stdout] --> src/service.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn addDoc(document: web::Json, db: web::Data) -> io::Result { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `uuidString` should have a snake case name [INFO] [stdout] --> src/service.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | let uuidString = uuid.to_string(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `uuid_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getDocumentById` should have a snake case name [INFO] [stdout] --> src/service.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn getDocumentById(id : &str, db : web::Data) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_document_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `emptyDocument` should have a snake case name [INFO] [stdout] --> src/service.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let emptyDocument = Map::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getDocuments` should have a snake case name [INFO] [stdout] --> src/service.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn getDocuments(query: web::Query, db: web::Data) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_documents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentsResults` should have a snake case name [INFO] [stdout] --> src/service.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut documentsResults: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `documents_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `equalQueryCount` should have a snake case name [INFO] [stdout] --> src/service.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut equalQueryCount = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `equal_query_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentIdMatches` should have a snake case name [INFO] [stdout] --> src/service.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | let mut documentIdMatches: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_id_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `skipIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let skipIndex = query.skipIndex.unwrap_or(false); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:176:16 [INFO] [stdout] | [INFO] [stdout] 176 | Ok(queryComparisons) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchedIds` should have a snake case name [INFO] [stdout] --> src/service.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 178 | let mut matchedIds: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idsCommaString` should have a snake case name [INFO] [stdout] --> src/service.rs:185:36 [INFO] [stdout] | [INFO] [stdout] 185 | ... Ok(idsCommaString) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ids_comma_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentId` should have a snake case name [INFO] [stdout] --> src/service.rs:186:41 [INFO] [stdout] | [INFO] [stdout] 186 | ... for documentId in idsCommaString.split(",") { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `document_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchedIds` should have a snake case name [INFO] [stdout] --> src/service.rs:184:33 [INFO] [stdout] | [INFO] [stdout] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:222:34 [INFO] [stdout] | [INFO] [stdout] 222 | .filter(|queryComparison| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nonEqualQueryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | let nonEqualQueryComparisons: Vec<&QueryComparison> = queryComparisons [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `non_equal_query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryConparison` should have a snake case name [INFO] [stdout] --> src/service.rs:228:70 [INFO] [stdout] | [INFO] [stdout] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_conparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:229:37 [INFO] [stdout] | [INFO] [stdout] 229 | ... let documentResult = DocumentResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResultsVec` should have a snake case name [INFO] [stdout] --> src/service.rs:254:30 [INFO] [stdout] | [INFO] [stdout] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_results_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:254:76 [INFO] [stdout] | [INFO] [stdout] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `filePath` should have a snake case name [INFO] [stdout] --> src/service.rs:260:28 [INFO] [stdout] | [INFO] [stdout] 260 | .and_then(|filePath| { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:263:73 [INFO] [stdout] | [INFO] [stdout] 263 | ... let is_match = queryComparisons.iter().all(|queryComparison| queryComparison.matches_document(&document)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:265:37 [INFO] [stdout] | [INFO] [stdout] 265 | ... let documentResult = DocumentResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "678cc6176f62ef173263b93c50c263920080b4bf6e2fa48d195a7d87d299d136", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "678cc6176f62ef173263b93c50c263920080b4bf6e2fa48d195a7d87d299d136", kill_on_drop: false }` [INFO] [stdout] 678cc6176f62ef173263b93c50c263920080b4bf6e2fa48d195a7d87d299d136 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a02d0ae8b41a66dc0ed9ddd8ab51d55e1d35108c9ffb21a263e901160bd9da1 [INFO] running `Command { std: "docker" "start" "-a" "3a02d0ae8b41a66dc0ed9ddd8ab51d55e1d35108c9ffb21a263e901160bd9da1", kill_on_drop: false }` [INFO] [stderr] Compiling michelledb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/server.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Error` [INFO] [stdout] --> src/server.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::ErrorKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Map` [INFO] [stdout] --> src/server.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::iter::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/server.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse` and `error` [INFO] [stdout] --> src/server.rs:8:38 [INFO] [stdout] | [INFO] [stdout] 8 | use actix_web::{App, HttpServer, web,error,HttpResponse}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/server.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Document` [INFO] [stdout] --> src/server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::Document; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::service::Service` [INFO] [stdout] --> src/server.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::service::Service; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/routes.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/routes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DirEntry` and `read` [INFO] [stdout] --> src/routes.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{DirEntry, read}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/routes.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Iter` [INFO] [stdout] --> src/routes.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::option::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/routes.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/routes.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stdout] --> src/routes.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::dev::ResourcePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::error` [INFO] [stdout] --> src/routes.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use actix_web::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Data` and `Json` [INFO] [stdout] --> src/routes.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | use actix_web::web::{Data, Json}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Number` and `Value` [INFO] [stdout] --> src/routes.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use serde_json::{Number, Value}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/routes.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/routes.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DocumentResult`, `QueryComparison`, `QueryOp`, `get_path_values`, and `parseQuery` [INFO] [stdout] --> src/routes.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::lexer::{DocumentResult, get_path_values, parseQuery, QueryComparison, QueryOp}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Map` [INFO] [stdout] --> src/routes.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use serde_json::Map; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `WalkDir` [INFO] [stdout] --> src/routes.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use walkdir::{Error, WalkDir}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DocumentResponse` [INFO] [stdout] --> src/routes.rs:22:22 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::service::{DocumentResponse, QueryParams, Service}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/db.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/db.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Filter` [INFO] [stdout] --> src/db.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::iter::Filter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stdout] --> src/db.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::de::Unexpected::Str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IntoIter` [INFO] [stdout] --> src/db.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use walkdir::{IntoIter, WalkDir}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (dir.exists() && indexDir.exists()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (dir.exists() && indexDir.exists()) { [INFO] [stdout] 32 + if dir.exists() && indexDir.exists() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 57 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] 57 + if e.kind() == ErrorKind::NotFound { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/db.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 74 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stdout] 74 + if e.kind() == ErrorKind::NotFound { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Error` [INFO] [stdout] --> src/lexer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | if(result.is_null()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - if(result.is_null()) { [INFO] [stdout] 22 + if result.is_null() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | if(result.is_null()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - if(result.is_null()){ [INFO] [stdout] 37 + if result.is_null() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:117:7 [INFO] [stdout] | [INFO] [stdout] 117 | if(index >= input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 117 - if(index >= input.len()){ [INFO] [stdout] 117 + if index >= input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | if (input[index] == b'"'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - if (input[index] == b'"'){ [INFO] [stdout] 121 + if input[index] == b'"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:126:14 [INFO] [stdout] | [INFO] [stdout] 126 | while(index < input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - while(index < input.len()){ [INFO] [stdout] 126 + while index < input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | if(input[index] == b'"'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 127 - if(input[index] == b'"'){ [INFO] [stdout] 127 + if input[index] == b'"' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | if(!found_end) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 134 - if(!found_end) { [INFO] [stdout] 134 + if !found_end { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | while(index < input.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 144 - while(index < input.len()){ [INFO] [stdout] 144 + while index < input.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 146 - if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stdout] 146 + if !(c.is_ascii_alphanumeric() || c == b'.') { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | if(s.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 152 - if(s.is_empty()){ [INFO] [stdout] 152 + if s.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:169:36 [INFO] [stdout] | [INFO] [stdout] 169 | let prefix = if(pref.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 169 - let prefix = if(pref.is_empty()){ [INFO] [stdout] 169 + let prefix = if pref.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:178:23 [INFO] [stdout] | [INFO] [stdout] 178 | if(!pref.is_empty()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 178 - if(!pref.is_empty()){ [INFO] [stdout] 178 + if !pref.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/lexer.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 203 | while(i < query.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 203 - while(i < query.len()){ [INFO] [stdout] 203 + while i < query.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:206:15 [INFO] [stdout] | [INFO] [stdout] 206 | if(query[i].is_ascii_whitespace()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 206 - if(query[i].is_ascii_whitespace()){ [INFO] [stdout] 206 + if query[i].is_ascii_whitespace() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/lexer.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | if(query[nextIndex] != b':'){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 215 - if(query[nextIndex] != b':'){ [INFO] [stdout] 215 + if query[nextIndex] != b':' { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stdout] --> src/lexer.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | use serde::de::Unexpected::Str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DirEntry` and `read` [INFO] [stdout] --> src/service.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{DirEntry, read}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option::Iter` [INFO] [stdout] --> src/service.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::option::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/service.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`, `Responder`, `get`, and `post` [INFO] [stdout] --> src/service.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use actix_web::{HttpRequest, HttpResponse, Responder, web, get, post}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::error` [INFO] [stdout] --> src/service.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use actix_web::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Json` [INFO] [stdout] --> src/service.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use actix_web::web::{Data, Json}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error` and `WalkDir` [INFO] [stdout] --> src/service.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use walkdir::{Error, WalkDir}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | if (idsString.is_empty()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 101 - if (idsString.is_empty()) { [INFO] [stdout] 101 + if idsString.is_empty() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | if (!found) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 113 - if (!found) { [INFO] [stdout] 113 + if !found { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:214:20 [INFO] [stdout] | [INFO] [stdout] 214 | if (matchedIds.is_empty() && skipIndex) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 214 - if (matchedIds.is_empty() && skipIndex) { [INFO] [stdout] 214 + if matchedIds.is_empty() && skipIndex { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:228:32 [INFO] [stdout] | [INFO] [stdout] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 228 - if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] 228 + if nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/service.rs:264:32 [INFO] [stdout] | [INFO] [stdout] 264 | ... if (is_match) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 264 - if (is_match) { [INFO] [stdout] 264 + if is_match { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/main.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{fmt::format, io, net::TcpListener}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App`, `HttpRequest`, `HttpResponse`, `HttpServer`, `Responder`, and `web` [INFO] [stdout] --> src/main.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::{App, HttpRequest, HttpResponse, HttpServer, Responder, web}; [INFO] [stdout] | ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserialize` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::Deserialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | use serde_json::{json, Value}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `walkdir::WalkDir` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use walkdir::WalkDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead. [INFO] [stdout] --> src/db.rs:23:37 [INFO] [stdout] | [INFO] [stdout] 23 | let dbDir = match std::env::home_dir() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn greet(req: HttpRequest) -> HttpResponse { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/routes.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stdout] --> src/service.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use actix_web::dev::ResourcePath; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `s` is never read [INFO] [stdout] --> src/lexer.rs:120:13 [INFO] [stdout] | [INFO] [stdout] 120 | let mut s = ""; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `u_key` is never read [INFO] [stdout] --> src/lexer.rs:177:29 [INFO] [stdout] | [INFO] [stdout] 177 | let mut u_key = String::new(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/lexer.rs:247:18 [INFO] [stdout] | [INFO] [stdout] 247 | Err((e,at)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queryComparison` [INFO] [stdout] --> src/service.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for queryComparison in &queryComparisons {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queryComparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `document` [INFO] [stdout] --> src/service.rs:63:29 [INFO] [stdout] | [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/service.rs:84:37 [INFO] [stdout] | [INFO] [stdout] 84 | }).map_err(|e|io::Error::from(ErrorKind::InvalidData) ) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matchedIds` [INFO] [stdout] --> src/service.rs:184:33 [INFO] [stdout] | [INFO] [stdout] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matchedIds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/service.rs:200:51 [INFO] [stdout] | [INFO] [stdout] 200 | ... .filter(|(key, value)| **value == equalQueryCount) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/service.rs:201:51 [INFO] [stdout] | [INFO] [stdout] 201 | ... .map(|(k, v)| k.to_owned()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index_lookup` is never used [INFO] [stdout] --> src/db.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl DB { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matchDocument` is never used [INFO] [stdout] --> src/service.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 62 | impl QueryParams { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `reIndex` is never used [INFO] [stdout] --> src/service.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl Service { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 72 | [INFO] [stdout] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addDoc` should have a snake case name [INFO] [stdout] --> src/routes.rs:29:14 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getById` should have a snake case name [INFO] [stdout] --> src/routes.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getDoc` should have a snake case name [INFO] [stdout] --> src/routes.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `get_doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResponse` should have a snake case name [INFO] [stdout] --> src/routes.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | Ok(Ok(documentResponse)) => HttpResponse::Ok().json(documentResponse), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_response` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `dbDir` should have a snake case name [INFO] [stdout] --> src/db.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub dbDir: String, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub indexDir: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dbDir` should have a snake case name [INFO] [stdout] --> src/db.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let dbDir = match std::env::home_dir() { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let indexDir = format!("{}.index", &dbDir); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `indexDir` should have a snake case name [INFO] [stdout] --> src/db.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let indexDir = Path::new(&indexDir); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getById` should have a snake case name [INFO] [stdout] --> src/db.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn getById(&self, id: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValue` should have a snake case name [INFO] [stdout] --> src/db.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn get_indexed_document(&self, pathValue: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValue` should have a snake case name [INFO] [stdout] --> src/db.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `fileContents` should have a snake case name [INFO] [stdout] --> src/db.rs:103:27 [INFO] [stdout] | [INFO] [stdout] 103 | .map(|fileContents| fileContents.split(",").map(|e| e.to_string()).collect::>()) [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `file_contents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lexString` should have a snake case name [INFO] [stdout] --> src/lexer.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn lexString(input : &[u8], mut index : usize) -> Result<(&str, usize), (&str,usize)> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lex_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parseQuery` should have a snake case name [INFO] [stdout] --> src/lexer.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn parseQuery<'a>(query : &'a[u8]) -> Result>, String> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `parse_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nextIndex` should have a snake case name [INFO] [stdout] --> src/lexer.rs:214:21 [INFO] [stdout] | [INFO] [stdout] 214 | Ok((key,nextIndex)) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nextIndex` should have a snake case name [INFO] [stdout] --> src/lexer.rs:232:31 [INFO] [stdout] | [INFO] [stdout] 232 | Ok((value,nextIndex)) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedResult` should have a snake case name [INFO] [stdout] --> src/lexer.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | expectedResult: Result<(&'static str, usize), (&'static str, usize)> [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `testCases` should have a snake case name [INFO] [stdout] --> src/lexer.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | let testCases = [ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `test_cases` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `testCase` should have a snake case name [INFO] [stdout] --> src/lexer.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | for testCase in testCases { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `test_case` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expectedResult` should have a snake case name [INFO] [stdout] --> src/lexer.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | expectedResult: Result>,String> [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `testCases` should have a snake case name [INFO] [stdout] --> src/lexer.rs:304:13 [INFO] [stdout] | [INFO] [stdout] 304 | let testCases = [ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `test_cases` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `testCase` should have a snake case name [INFO] [stdout] --> src/lexer.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | for testCase in &testCases { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `test_case` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/lexer.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | let queryComparison = QueryComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `jsonValue` should have a snake case name [INFO] [stdout] --> src/lexer.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | let jsonValue = json!({ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `json_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `expectedResult` should have a snake case name [INFO] [stdout] --> src/lexer.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | let expectedResult: Vec = vec!["a=1", "b.c.d.e=1", "b.c.d.f=3", "b.g=2"].iter().map(|x| String::from(*x)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `jsonValue` should have a snake case name [INFO] [stdout] --> src/lexer.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | let jsonValue = json!({ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `json_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `expectedResult` should have a snake case name [INFO] [stdout] --> src/lexer.rs:386:13 [INFO] [stdout] | [INFO] [stdout] 386 | let expectedResult: Vec = vec!["a=1", "b=2", "c.d=3"].iter().map(|x| String::from(*x)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_Map` should have a snake case name [INFO] [stdout] --> src/service.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn from_Map(id :&str, result: Map) -> Self { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `from_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `fromDocumentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn fromDocumentResult(result : DocumentResult) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `from_document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_HashMap` should have a snake case name [INFO] [stdout] --> src/service.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn from_HashMap(result: HashMap) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_hash_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `skipIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | skipIndex: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `matchDocument` should have a snake case name [INFO] [stdout] --> src/service.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `match_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let queryComparisons = parseQuery(self.q.as_bytes())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for queryComparison in &queryComparisons {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `re_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `filePath` should have a snake case name [INFO] [stdout] --> src/service.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | .and_then(|filePath| { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `osStr` should have a snake case name [INFO] [stdout] --> src/service.rs:82:83 [INFO] [stdout] | [INFO] [stdout] 82 | ... let file_name = filePath.path().file_name().and_then(|osStr| osStr.to_str()).unwrap(); [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `os_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `pathValues` should have a snake case name [INFO] [stdout] --> src/service.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let pathValues = get_path_values(document, String::new()); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `path_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idsString` should have a snake case name [INFO] [stdout] --> src/service.rs:100:24 [INFO] [stdout] | [INFO] [stdout] 100 | Ok(mut idsString) => { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `ids_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exisitingId` should have a snake case name [INFO] [stdout] --> src/service.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | for exisitingId in ids { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `exisiting_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `addDoc` should have a snake case name [INFO] [stdout] --> src/service.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn addDoc(document: web::Json, db: web::Data) -> io::Result { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `uuidString` should have a snake case name [INFO] [stdout] --> src/service.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | let uuidString = uuid.to_string(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `uuid_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getDocumentById` should have a snake case name [INFO] [stdout] --> src/service.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn getDocumentById(id : &str, db : web::Data) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_document_by_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `emptyDocument` should have a snake case name [INFO] [stdout] --> src/service.rs:162:21 [INFO] [stdout] | [INFO] [stdout] 162 | let emptyDocument = Map::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_document` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getDocuments` should have a snake case name [INFO] [stdout] --> src/service.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn getDocuments(query: web::Query, db: web::Data) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_documents` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentsResults` should have a snake case name [INFO] [stdout] --> src/service.rs:170:17 [INFO] [stdout] | [INFO] [stdout] 170 | let mut documentsResults: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `documents_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `equalQueryCount` should have a snake case name [INFO] [stdout] --> src/service.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut equalQueryCount = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `equal_query_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentIdMatches` should have a snake case name [INFO] [stdout] --> src/service.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | let mut documentIdMatches: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_id_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `skipIndex` should have a snake case name [INFO] [stdout] --> src/service.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let skipIndex = query.skipIndex.unwrap_or(false); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:176:16 [INFO] [stdout] | [INFO] [stdout] 176 | Ok(queryComparisons) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchedIds` should have a snake case name [INFO] [stdout] --> src/service.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 178 | let mut matchedIds: Vec = vec![]; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `idsCommaString` should have a snake case name [INFO] [stdout] --> src/service.rs:185:36 [INFO] [stdout] | [INFO] [stdout] 185 | ... Ok(idsCommaString) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ids_comma_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentId` should have a snake case name [INFO] [stdout] --> src/service.rs:186:41 [INFO] [stdout] | [INFO] [stdout] 186 | ... for documentId in idsCommaString.split(",") { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `document_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `matchedIds` should have a snake case name [INFO] [stdout] --> src/service.rs:184:33 [INFO] [stdout] | [INFO] [stdout] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:222:34 [INFO] [stdout] | [INFO] [stdout] 222 | .filter(|queryComparison| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nonEqualQueryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:220:25 [INFO] [stdout] | [INFO] [stdout] 220 | let nonEqualQueryComparisons: Vec<&QueryComparison> = queryComparisons [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `non_equal_query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryConparison` should have a snake case name [INFO] [stdout] --> src/service.rs:228:70 [INFO] [stdout] | [INFO] [stdout] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_conparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:229:37 [INFO] [stdout] | [INFO] [stdout] 229 | ... let documentResult = DocumentResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResultsVec` should have a snake case name [INFO] [stdout] --> src/service.rs:254:30 [INFO] [stdout] | [INFO] [stdout] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_results_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparisons` should have a snake case name [INFO] [stdout] --> src/service.rs:254:76 [INFO] [stdout] | [INFO] [stdout] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `filePath` should have a snake case name [INFO] [stdout] --> src/service.rs:260:28 [INFO] [stdout] | [INFO] [stdout] 260 | .and_then(|filePath| { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `queryComparison` should have a snake case name [INFO] [stdout] --> src/service.rs:263:73 [INFO] [stdout] | [INFO] [stdout] 263 | ... let is_match = queryComparisons.iter().all(|queryComparison| queryComparison.matches_document(&document)); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `documentResult` should have a snake case name [INFO] [stdout] --> src/service.rs:265:37 [INFO] [stdout] | [INFO] [stdout] 265 | ... let documentResult = DocumentResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.22s [INFO] running `Command { std: "docker" "inspect" "3a02d0ae8b41a66dc0ed9ddd8ab51d55e1d35108c9ffb21a263e901160bd9da1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a02d0ae8b41a66dc0ed9ddd8ab51d55e1d35108c9ffb21a263e901160bd9da1", kill_on_drop: false }` [INFO] [stdout] 3a02d0ae8b41a66dc0ed9ddd8ab51d55e1d35108c9ffb21a263e901160bd9da1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4e7b9adc736406d1f19682c5e3b2a952c8674807e6225c0942667d861a2f1686 [INFO] running `Command { std: "docker" "start" "-a" "4e7b9adc736406d1f19682c5e3b2a952c8674807e6225c0942667d861a2f1686", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/server.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::Error` [INFO] [stderr] --> src/server.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use serde_json::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::ErrorKind` [INFO] [stderr] --> src/server.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::io::ErrorKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Map` [INFO] [stderr] --> src/server.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::iter::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/server.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HttpResponse` and `error` [INFO] [stderr] --> src/server.rs:8:38 [INFO] [stderr] | [INFO] [stderr] 8 | use actix_web::{App, HttpServer, web,error,HttpResponse}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::Deserialize` [INFO] [stderr] --> src/server.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use serde::Deserialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::Document` [INFO] [stderr] --> src/server.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use crate::Document; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::service::Service` [INFO] [stderr] --> src/server.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::service::Service; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/routes.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/routes.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::format` [INFO] [stderr] --> src/routes.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt::format; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DirEntry` and `read` [INFO] [stderr] --> src/routes.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{DirEntry, read}; [INFO] [stderr] | ^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/routes.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option::Iter` [INFO] [stderr] --> src/routes.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::option::Iter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf` and `Path` [INFO] [stderr] --> src/routes.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/routes.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stderr] --> src/routes.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use actix_web::dev::ResourcePath; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::error` [INFO] [stderr] --> src/routes.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use actix_web::error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Data` and `Json` [INFO] [stderr] --> src/routes.rs:13:22 [INFO] [stderr] | [INFO] [stderr] 13 | use actix_web::web::{Data, Json}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Number` and `Value` [INFO] [stderr] --> src/routes.rs:14:18 [INFO] [stderr] | [INFO] [stderr] 14 | use serde_json::{Number, Value}; [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::json` [INFO] [stderr] --> src/routes.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use serde_json::json; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stderr] --> src/routes.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | use serde::{Deserialize, Serialize}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DocumentResult`, `QueryComparison`, `QueryOp`, `get_path_values`, and `parseQuery` [INFO] [stderr] --> src/routes.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | use crate::lexer::{DocumentResult, get_path_values, parseQuery, QueryComparison, QueryOp}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::Map` [INFO] [stderr] --> src/routes.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use serde_json::Map; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error` and `WalkDir` [INFO] [stderr] --> src/routes.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | use walkdir::{Error, WalkDir}; [INFO] [stderr] | ^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DocumentResponse` [INFO] [stderr] --> src/routes.rs:22:22 [INFO] [stderr] | [INFO] [stderr] 22 | use crate::service::{DocumentResponse, QueryParams, Service}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/db.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ffi::OsString` [INFO] [stderr] --> src/db.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::ffi::OsString; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::Filter` [INFO] [stderr] --> src/db.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::iter::Filter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stderr] --> src/db.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use serde::de::Unexpected::Str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `IntoIter` [INFO] [stderr] --> src/db.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | use walkdir::{IntoIter, WalkDir}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/db.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | if (dir.exists() && indexDir.exists()) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 32 - if (dir.exists() && indexDir.exists()) { [INFO] [stderr] 32 + if dir.exists() && indexDir.exists() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/db.rs:57:20 [INFO] [stderr] | [INFO] [stderr] 57 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 57 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stderr] 57 + if e.kind() == ErrorKind::NotFound { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/db.rs:74:20 [INFO] [stderr] | [INFO] [stderr] 74 | if (e.kind() == ErrorKind::NotFound) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 74 - if (e.kind() == ErrorKind::NotFound) { [INFO] [stderr] 74 + if e.kind() == ErrorKind::NotFound { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/lexer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/lexer.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Error` [INFO] [stderr] --> src/lexer.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:22:15 [INFO] [stderr] | [INFO] [stderr] 22 | if(result.is_null()) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 22 - if(result.is_null()) { [INFO] [stderr] 22 + if result.is_null() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | if(result.is_null()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 37 - if(result.is_null()){ [INFO] [stderr] 37 + if result.is_null() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:117:7 [INFO] [stderr] | [INFO] [stderr] 117 | if(index >= input.len()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 117 - if(index >= input.len()){ [INFO] [stderr] 117 + if index >= input.len() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:121:8 [INFO] [stderr] | [INFO] [stderr] 121 | if (input[index] == b'"'){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 121 - if (input[index] == b'"'){ [INFO] [stderr] 121 + if input[index] == b'"' { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/lexer.rs:126:14 [INFO] [stderr] | [INFO] [stderr] 126 | while(index < input.len()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 126 - while(index < input.len()){ [INFO] [stderr] 126 + while index < input.len() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:127:15 [INFO] [stderr] | [INFO] [stderr] 127 | if(input[index] == b'"'){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 127 - if(input[index] == b'"'){ [INFO] [stderr] 127 + if input[index] == b'"' { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:134:11 [INFO] [stderr] | [INFO] [stderr] 134 | if(!found_end) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 134 - if(!found_end) { [INFO] [stderr] 134 + if !found_end { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/lexer.rs:144:10 [INFO] [stderr] | [INFO] [stderr] 144 | while(index < input.len()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 144 - while(index < input.len()){ [INFO] [stderr] 144 + while index < input.len() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:146:11 [INFO] [stderr] | [INFO] [stderr] 146 | if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 146 - if(!(c.is_ascii_alphanumeric() || c == b'.')){ [INFO] [stderr] 146 + if !(c.is_ascii_alphanumeric() || c == b'.') { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:152:7 [INFO] [stderr] | [INFO] [stderr] 152 | if(s.is_empty()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 152 - if(s.is_empty()){ [INFO] [stderr] 152 + if s.is_empty() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:169:36 [INFO] [stderr] | [INFO] [stderr] 169 | let prefix = if(pref.is_empty()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 169 - let prefix = if(pref.is_empty()){ [INFO] [stderr] 169 + let prefix = if pref.is_empty() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:178:23 [INFO] [stderr] | [INFO] [stderr] 178 | if(!pref.is_empty()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 178 - if(!pref.is_empty()){ [INFO] [stderr] 178 + if !pref.is_empty() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/lexer.rs:203:10 [INFO] [stderr] | [INFO] [stderr] 203 | while(i < query.len()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 203 - while(i < query.len()){ [INFO] [stderr] 203 + while i < query.len() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:206:15 [INFO] [stderr] | [INFO] [stderr] 206 | if(query[i].is_ascii_whitespace()){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 206 - if(query[i].is_ascii_whitespace()){ [INFO] [stderr] 206 + if query[i].is_ascii_whitespace() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/lexer.rs:215:19 [INFO] [stderr] | [INFO] [stderr] 215 | if(query[nextIndex] != b':'){ [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 215 - if(query[nextIndex] != b':'){ [INFO] [stderr] 215 + if query[nextIndex] != b':' { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::de::Unexpected::Str` [INFO] [stderr] --> src/lexer.rs:257:9 [INFO] [stderr] | [INFO] [stderr] 257 | use serde::de::Unexpected::Str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/service.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::format` [INFO] [stderr] --> src/service.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fmt::format; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DirEntry` and `read` [INFO] [stderr] --> src/service.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs::{DirEntry, read}; [INFO] [stderr] | ^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option::Iter` [INFO] [stderr] --> src/service.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::option::Iter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf` and `Path` [INFO] [stderr] --> src/service.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HttpRequest`, `HttpResponse`, `Responder`, `get`, and `post` [INFO] [stderr] --> src/service.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use actix_web::{HttpRequest, HttpResponse, Responder, web, get, post}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::error` [INFO] [stderr] --> src/service.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use actix_web::error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Json` [INFO] [stderr] --> src/service.rs:13:28 [INFO] [stderr] | [INFO] [stderr] 13 | use actix_web::web::{Data, Json}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error` and `WalkDir` [INFO] [stderr] --> src/service.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | use walkdir::{Error, WalkDir}; [INFO] [stderr] | ^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/service.rs:101:24 [INFO] [stderr] | [INFO] [stderr] 101 | if (idsString.is_empty()) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 101 - if (idsString.is_empty()) { [INFO] [stderr] 101 + if idsString.is_empty() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/service.rs:113:28 [INFO] [stderr] | [INFO] [stderr] 113 | if (!found) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 113 - if (!found) { [INFO] [stderr] 113 + if !found { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/service.rs:214:20 [INFO] [stderr] | [INFO] [stderr] 214 | if (matchedIds.is_empty() && skipIndex) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 214 - if (matchedIds.is_empty() && skipIndex) { [INFO] [stderr] 214 + if matchedIds.is_empty() && skipIndex { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/service.rs:228:32 [INFO] [stderr] | [INFO] [stderr] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 228 - if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stderr] 228 + if nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc)) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/service.rs:264:32 [INFO] [stderr] | [INFO] [stderr] 264 | ... if (is_match) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 264 - if (is_match) { [INFO] [stderr] 264 + if is_match { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `fmt::format` [INFO] [stderr] --> src/main.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use std::{fmt::format, io, net::TcpListener}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `App`, `HttpRequest`, `HttpResponse`, `HttpServer`, `Responder`, and `web` [INFO] [stderr] --> src/main.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | use actix_web::{App, HttpRequest, HttpResponse, HttpServer, Responder, web}; [INFO] [stderr] | ^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde::Deserialize` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use serde::Deserialize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Value` and `json` [INFO] [stderr] --> src/main.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | use serde_json::{json, Value}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `walkdir::WalkDir` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use walkdir::WalkDir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `std::env::home_dir`: This function's behavior may be unexpected on Windows. Consider using a crate from crates.io instead. [INFO] [stderr] --> src/db.rs:23:37 [INFO] [stderr] | [INFO] [stderr] 23 | let dbDir = match std::env::home_dir() { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/routes.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | pub async fn greet(req: HttpRequest) -> HttpResponse { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/routes.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/routes.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/routes.rs:53:21 [INFO] [stderr] | [INFO] [stderr] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused import: `actix_web::dev::ResourcePath` [INFO] [stderr] --> src/service.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use actix_web::dev::ResourcePath; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `s` is never read [INFO] [stderr] --> src/lexer.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut s = ""; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `u_key` is never read [INFO] [stderr] --> src/lexer.rs:177:29 [INFO] [stderr] | [INFO] [stderr] 177 | let mut u_key = String::new(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/lexer.rs:247:18 [INFO] [stderr] | [INFO] [stderr] 247 | Err((e,at)) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `queryComparison` [INFO] [stderr] --> src/service.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | for queryComparison in &queryComparisons {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queryComparison` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `document` [INFO] [stderr] --> src/service.rs:63:29 [INFO] [stderr] | [INFO] [stderr] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_document` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/service.rs:84:37 [INFO] [stderr] | [INFO] [stderr] 84 | }).map_err(|e|io::Error::from(ErrorKind::InvalidData) ) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `matchedIds` [INFO] [stderr] --> src/service.rs:184:33 [INFO] [stderr] | [INFO] [stderr] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_matchedIds` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/service.rs:200:51 [INFO] [stderr] | [INFO] [stderr] 200 | ... .filter(|(key, value)| **value == equalQueryCount) [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/service.rs:201:51 [INFO] [stderr] | [INFO] [stderr] 201 | ... .map(|(k, v)| k.to_owned()) [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: method `index_lookup` is never used [INFO] [stderr] --> src/db.rs:98:12 [INFO] [stderr] | [INFO] [stderr] 20 | impl DB { [INFO] [stderr] | ------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `matchDocument` is never used [INFO] [stderr] --> src/service.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 62 | impl QueryParams { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `reIndex` is never used [INFO] [stderr] --> src/service.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 71 | impl Service { [INFO] [stderr] | ------------ associated function in this implementation [INFO] [stderr] 72 | [INFO] [stderr] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `addDoc` should have a snake case name [INFO] [stderr] --> src/routes.rs:29:14 [INFO] [stderr] | [INFO] [stderr] 29 | pub async fn addDoc(req: HttpRequest, document: web::Json, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `getById` should have a snake case name [INFO] [stderr] --> src/routes.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | pub async fn getById(req: HttpRequest, id: web::Path, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stderr] [INFO] [stderr] warning: function `getDoc` should have a snake case name [INFO] [stderr] --> src/routes.rs:53:14 [INFO] [stderr] | [INFO] [stderr] 53 | pub async fn getDoc(req: HttpRequest, query: web::Query, db: web::Data) -> impl Responder { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `get_doc` [INFO] [stderr] [INFO] [stderr] warning: variable `documentResponse` should have a snake case name [INFO] [stderr] --> src/routes.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | Ok(Ok(documentResponse)) => HttpResponse::Ok().json(documentResponse), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_response` [INFO] [stderr] [INFO] [stderr] warning: structure field `dbDir` should have a snake case name [INFO] [stderr] --> src/db.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | pub dbDir: String, [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stderr] [INFO] [stderr] warning: structure field `indexDir` should have a snake case name [INFO] [stderr] --> src/db.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub indexDir: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stderr] [INFO] [stderr] warning: variable `dbDir` should have a snake case name [INFO] [stderr] --> src/db.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let dbDir = match std::env::home_dir() { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `db_dir` [INFO] [stderr] [INFO] [stderr] warning: variable `indexDir` should have a snake case name [INFO] [stderr] --> src/db.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let indexDir = format!("{}.index", &dbDir); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stderr] [INFO] [stderr] warning: variable `indexDir` should have a snake case name [INFO] [stderr] --> src/db.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let indexDir = Path::new(&indexDir); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `index_dir` [INFO] [stderr] [INFO] [stderr] warning: method `getById` should have a snake case name [INFO] [stderr] --> src/db.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn getById(&self, id: &str) -> Result, String> { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `get_by_id` [INFO] [stderr] [INFO] [stderr] warning: variable `pathValue` should have a snake case name [INFO] [stderr] --> src/db.rs:70:40 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn get_indexed_document(&self, pathValue: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stderr] [INFO] [stderr] warning: variable `pathValue` should have a snake case name [INFO] [stderr] --> src/db.rs:98:32 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn index_lookup(&self, pathValue: &str) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `path_value` [INFO] [stderr] [INFO] [stderr] warning: variable `fileContents` should have a snake case name [INFO] [stderr] --> src/db.rs:103:27 [INFO] [stderr] | [INFO] [stderr] 103 | .map(|fileContents| fileContents.split(",").map(|e| e.to_string()).collect::>()) [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `file_contents` [INFO] [stderr] [INFO] [stderr] warning: function `lexString` should have a snake case name [INFO] [stderr] --> src/lexer.rs:115:8 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn lexString(input : &[u8], mut index : usize) -> Result<(&str, usize), (&str,usize)> { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `lex_string` [INFO] [stderr] [INFO] [stderr] warning: function `parseQuery` should have a snake case name [INFO] [stderr] --> src/lexer.rs:198:8 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn parseQuery<'a>(query : &'a[u8]) -> Result>, String> { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `parse_query` [INFO] [stderr] [INFO] [stderr] warning: variable `nextIndex` should have a snake case name [INFO] [stderr] --> src/lexer.rs:214:21 [INFO] [stderr] | [INFO] [stderr] 214 | Ok((key,nextIndex)) => { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stderr] [INFO] [stderr] warning: variable `nextIndex` should have a snake case name [INFO] [stderr] --> src/lexer.rs:232:31 [INFO] [stderr] | [INFO] [stderr] 232 | Ok((value,nextIndex)) => { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `next_index` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedResult` should have a snake case name [INFO] [stderr] --> src/lexer.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | expectedResult: Result<(&'static str, usize), (&'static str, usize)> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stderr] [INFO] [stderr] warning: variable `testCases` should have a snake case name [INFO] [stderr] --> src/lexer.rs:270:13 [INFO] [stderr] | [INFO] [stderr] 270 | let testCases = [ [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `test_cases` [INFO] [stderr] [INFO] [stderr] warning: variable `testCase` should have a snake case name [INFO] [stderr] --> src/lexer.rs:292:13 [INFO] [stderr] | [INFO] [stderr] 292 | for testCase in testCases { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `test_case` [INFO] [stderr] [INFO] [stderr] warning: structure field `expectedResult` should have a snake case name [INFO] [stderr] --> src/lexer.rs:302:13 [INFO] [stderr] | [INFO] [stderr] 302 | expectedResult: Result>,String> [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stderr] [INFO] [stderr] warning: variable `testCases` should have a snake case name [INFO] [stderr] --> src/lexer.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 304 | let testCases = [ [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `test_cases` [INFO] [stderr] [INFO] [stderr] warning: variable `testCase` should have a snake case name [INFO] [stderr] --> src/lexer.rs:327:13 [INFO] [stderr] | [INFO] [stderr] 327 | for testCase in &testCases { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `test_case` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparison` should have a snake case name [INFO] [stderr] --> src/lexer.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | let queryComparison = QueryComparison { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stderr] [INFO] [stderr] warning: variable `jsonValue` should have a snake case name [INFO] [stderr] --> src/lexer.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | let jsonValue = json!({ [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `json_value` [INFO] [stderr] [INFO] [stderr] warning: variable `expectedResult` should have a snake case name [INFO] [stderr] --> src/lexer.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | let expectedResult: Vec = vec!["a=1", "b.c.d.e=1", "b.c.d.f=3", "b.g=2"].iter().map(|x| String::from(*x)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stderr] [INFO] [stderr] warning: variable `jsonValue` should have a snake case name [INFO] [stderr] --> src/lexer.rs:374:13 [INFO] [stderr] | [INFO] [stderr] 374 | let jsonValue = json!({ [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `json_value` [INFO] [stderr] [INFO] [stderr] warning: variable `expectedResult` should have a snake case name [INFO] [stderr] --> src/lexer.rs:386:13 [INFO] [stderr] | [INFO] [stderr] 386 | let expectedResult: Vec = vec!["a=1", "b=2", "c.d=3"].iter().map(|x| String::from(*x)).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_result` [INFO] [stderr] [INFO] [stderr] warning: method `from_Map` should have a snake case name [INFO] [stderr] --> src/service.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn from_Map(id :&str, result: Map) -> Self { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `from_map` [INFO] [stderr] [INFO] [stderr] warning: method `fromDocumentResult` should have a snake case name [INFO] [stderr] --> src/service.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn fromDocumentResult(result : DocumentResult) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `from_document_result` [INFO] [stderr] [INFO] [stderr] warning: method `from_HashMap` should have a snake case name [INFO] [stderr] --> src/service.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn from_HashMap(result: HashMap) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `from_hash_map` [INFO] [stderr] [INFO] [stderr] warning: structure field `skipIndex` should have a snake case name [INFO] [stderr] --> src/service.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | skipIndex: Option, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stderr] [INFO] [stderr] warning: method `matchDocument` should have a snake case name [INFO] [stderr] --> src/service.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | fn matchDocument(&self, document: &HashMap) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `match_document` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparisons` should have a snake case name [INFO] [stderr] --> src/service.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | let queryComparisons = parseQuery(self.q.as_bytes())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparison` should have a snake case name [INFO] [stderr] --> src/service.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | for queryComparison in &queryComparisons {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stderr] [INFO] [stderr] warning: method `reIndex` should have a snake case name [INFO] [stderr] --> src/service.rs:73:12 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn reIndex(db: &DB) -> Option { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `re_index` [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name [INFO] [stderr] --> src/service.rs:79:28 [INFO] [stderr] | [INFO] [stderr] 79 | .and_then(|filePath| { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stderr] [INFO] [stderr] warning: variable `osStr` should have a snake case name [INFO] [stderr] --> src/service.rs:82:83 [INFO] [stderr] | [INFO] [stderr] 82 | ... let file_name = filePath.path().file_name().and_then(|osStr| osStr.to_str()).unwrap(); [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `os_str` [INFO] [stderr] [INFO] [stderr] warning: variable `pathValues` should have a snake case name [INFO] [stderr] --> src/service.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | let pathValues = get_path_values(document, String::new()); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `path_values` [INFO] [stderr] [INFO] [stderr] warning: variable `idsString` should have a snake case name [INFO] [stderr] --> src/service.rs:100:24 [INFO] [stderr] | [INFO] [stderr] 100 | Ok(mut idsString) => { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `ids_string` [INFO] [stderr] [INFO] [stderr] warning: variable `exisitingId` should have a snake case name [INFO] [stderr] --> src/service.rs:107:29 [INFO] [stderr] | [INFO] [stderr] 107 | for exisitingId in ids { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `exisiting_id` [INFO] [stderr] [INFO] [stderr] warning: method `addDoc` should have a snake case name [INFO] [stderr] --> src/service.rs:128:12 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn addDoc(document: web::Json, db: web::Data) -> io::Result { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `add_doc` [INFO] [stderr] [INFO] [stderr] warning: variable `uuidString` should have a snake case name [INFO] [stderr] --> src/service.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | let uuidString = uuid.to_string(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `uuid_string` [INFO] [stderr] [INFO] [stderr] warning: method `getDocumentById` should have a snake case name [INFO] [stderr] --> src/service.rs:159:12 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn getDocumentById(id : &str, db : web::Data) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_document_by_id` [INFO] [stderr] [INFO] [stderr] warning: variable `emptyDocument` should have a snake case name [INFO] [stderr] --> src/service.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | let emptyDocument = Map::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `empty_document` [INFO] [stderr] [INFO] [stderr] warning: method `getDocuments` should have a snake case name [INFO] [stderr] --> src/service.rs:168:12 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn getDocuments(query: web::Query, db: web::Data) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `get_documents` [INFO] [stderr] [INFO] [stderr] warning: variable `documentsResults` should have a snake case name [INFO] [stderr] --> src/service.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | let mut documentsResults: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `documents_results` [INFO] [stderr] [INFO] [stderr] warning: variable `equalQueryCount` should have a snake case name [INFO] [stderr] --> src/service.rs:171:17 [INFO] [stderr] | [INFO] [stderr] 171 | let mut equalQueryCount = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `equal_query_count` [INFO] [stderr] [INFO] [stderr] warning: variable `documentIdMatches` should have a snake case name [INFO] [stderr] --> src/service.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | let mut documentIdMatches: HashMap = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_id_matches` [INFO] [stderr] [INFO] [stderr] warning: variable `skipIndex` should have a snake case name [INFO] [stderr] --> src/service.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | let skipIndex = query.skipIndex.unwrap_or(false); [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `skip_index` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparisons` should have a snake case name [INFO] [stderr] --> src/service.rs:176:16 [INFO] [stderr] | [INFO] [stderr] 176 | Ok(queryComparisons) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stderr] [INFO] [stderr] warning: variable `matchedIds` should have a snake case name [INFO] [stderr] --> src/service.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | let mut matchedIds: Vec = vec![]; [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stderr] [INFO] [stderr] warning: variable `idsCommaString` should have a snake case name [INFO] [stderr] --> src/service.rs:185:36 [INFO] [stderr] | [INFO] [stderr] 185 | ... Ok(idsCommaString) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ids_comma_string` [INFO] [stderr] [INFO] [stderr] warning: variable `documentId` should have a snake case name [INFO] [stderr] --> src/service.rs:186:41 [INFO] [stderr] | [INFO] [stderr] 186 | ... for documentId in idsCommaString.split(",") { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `document_id` [INFO] [stderr] [INFO] [stderr] warning: variable `matchedIds` should have a snake case name [INFO] [stderr] --> src/service.rs:184:33 [INFO] [stderr] | [INFO] [stderr] 184 | ... let matchedIds = match db.get_indexed_document(&index_key) { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `matched_ids` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparison` should have a snake case name [INFO] [stderr] --> src/service.rs:222:34 [INFO] [stderr] | [INFO] [stderr] 222 | .filter(|queryComparison| { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stderr] [INFO] [stderr] warning: variable `nonEqualQueryComparisons` should have a snake case name [INFO] [stderr] --> src/service.rs:220:25 [INFO] [stderr] | [INFO] [stderr] 220 | let nonEqualQueryComparisons: Vec<&QueryComparison> = queryComparisons [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `non_equal_query_comparisons` [INFO] [stderr] [INFO] [stderr] warning: variable `queryConparison` should have a snake case name [INFO] [stderr] --> src/service.rs:228:70 [INFO] [stderr] | [INFO] [stderr] 228 | ... if (nonEqualQueryComparisons.iter().all(|queryConparison| queryConparison.matches_document(&doc))) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_conparison` [INFO] [stderr] [INFO] [stderr] warning: variable `documentResult` should have a snake case name [INFO] [stderr] --> src/service.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | ... let documentResult = DocumentResult { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stderr] [INFO] [stderr] warning: variable `documentResultsVec` should have a snake case name [INFO] [stderr] --> src/service.rs:254:30 [INFO] [stderr] | [INFO] [stderr] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_results_vec` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparisons` should have a snake case name [INFO] [stderr] --> src/service.rs:254:76 [INFO] [stderr] | [INFO] [stderr] 254 | fn do_scan(db: Data, documentResultsVec: &mut Vec, queryComparisons: &Vec) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparisons` [INFO] [stderr] [INFO] [stderr] warning: variable `filePath` should have a snake case name [INFO] [stderr] --> src/service.rs:260:28 [INFO] [stderr] | [INFO] [stderr] 260 | .and_then(|filePath| { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `file_path` [INFO] [stderr] [INFO] [stderr] warning: variable `queryComparison` should have a snake case name [INFO] [stderr] --> src/service.rs:263:73 [INFO] [stderr] | [INFO] [stderr] 263 | ... let is_match = queryComparisons.iter().all(|queryComparison| queryComparison.matches_document(&document)); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `query_comparison` [INFO] [stderr] [INFO] [stderr] warning: variable `documentResult` should have a snake case name [INFO] [stderr] --> src/service.rs:265:37 [INFO] [stderr] | [INFO] [stderr] 265 | ... let documentResult = DocumentResult { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `document_result` [INFO] [stderr] [INFO] [stderr] warning: `michelledb` (bin "michelledb" test) generated 158 warnings (run `cargo fix --bin "michelledb" --tests` to apply 76 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/michelledb-b2c7d887f94826e7) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test lexer::test::test_get_path_values ... ok [INFO] [stdout] test lexer::test::test_lexing ... ok [INFO] [stdout] test lexer::test::test_query_comparison_matcher ... ok [INFO] [stdout] test lexer::test::test_parsing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4e7b9adc736406d1f19682c5e3b2a952c8674807e6225c0942667d861a2f1686", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e7b9adc736406d1f19682c5e3b2a952c8674807e6225c0942667d861a2f1686", kill_on_drop: false }` [INFO] [stdout] 4e7b9adc736406d1f19682c5e3b2a952c8674807e6225c0942667d861a2f1686