[INFO] cloning repository https://github.com/talosto/test-backend [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/talosto/test-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftalosto%2Ftest-backend", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftalosto%2Ftest-backend'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 37c30f46ab316a472f9c5f27056195f821cd213c [INFO] linting talosto/test-backend against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftalosto%2Ftest-backend" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/talosto/test-backend [INFO] finished tweaking git repo https://github.com/talosto/test-backend [INFO] tweaked toml for git repo https://github.com/talosto/test-backend written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/talosto/test-backend on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/talosto/test-backend 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded urlencoding v2.1.0 [INFO] [stderr] Downloaded tungstenite v0.14.0 [INFO] [stderr] Downloaded erased-serde v0.3.23 [INFO] [stderr] Downloaded fcm v0.9.2 [INFO] [stderr] Downloaded openssl-sys v0.9.75 [INFO] [stderr] Downloaded headers v0.3.7 [INFO] [stderr] Downloaded multipart v0.18.0 [INFO] [stderr] Downloaded warp v0.3.2 [INFO] [stderr] Downloaded tokio-tungstenite v0.15.0 [INFO] [stderr] Downloaded num-derive v0.2.5 [INFO] [stderr] Downloaded buf_redux v0.8.4 [INFO] [stderr] Downloaded twoway v0.1.8 [INFO] [stderr] Downloaded openssl v0.10.41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2e4bd93c1100d298076b93a8d4dc596a957c3d502ac95fa0c00f83ba4b28fab5 [INFO] running `Command { std: "docker" "start" "-a" "2e4bd93c1100d298076b93a8d4dc596a957c3d502ac95fa0c00f83ba4b28fab5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e4bd93c1100d298076b93a8d4dc596a957c3d502ac95fa0c00f83ba4b28fab5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e4bd93c1100d298076b93a8d4dc596a957c3d502ac95fa0c00f83ba4b28fab5", kill_on_drop: false }` [INFO] [stdout] 2e4bd93c1100d298076b93a8d4dc596a957c3d502ac95fa0c00f83ba4b28fab5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61221938fae29defa252677e5fc32ad4c83bada4affa6f4c10ffb9e67f0fa2c0 [INFO] running `Command { std: "docker" "start" "-a" "61221938fae29defa252677e5fc32ad4c83bada4affa6f4c10ffb9e67f0fa2c0", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Compiling unicode-ident v1.0.2 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling proc-macro2 v1.0.40 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking once_cell v1.13.0 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Compiling tokio v1.20.0 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking parking_lot_core v0.9.3 [INFO] [stderr] Checking http v0.2.8 [INFO] [stderr] Compiling openssl-sys v0.9.75 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling serde_derive v1.0.139 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking tracing-core v0.1.28 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling serde v1.0.139 [INFO] [stderr] Checking unicode-normalization v0.1.21 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking tracing v0.1.35 [INFO] [stderr] Compiling openssl v0.10.41 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking cpufeatures v0.2.2 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Checking http-body v0.4.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling serde_json v1.0.82 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.2 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Checking digest v0.10.3 [INFO] [stderr] Checking safemem v0.3.3 [INFO] [stderr] Compiling erased-serde v0.3.23 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking sha-1 v0.10.0 [INFO] [stderr] Checking tempfile v3.3.0 [INFO] [stderr] Checking buf_redux v0.8.4 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking twoway v0.1.8 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Checking headers v0.3.7 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking urlencoding v2.1.0 [INFO] [stderr] Checking multipart v0.18.0 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Compiling tokio-macros v1.8.0 [INFO] [stderr] Compiling openssl-macros v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.31 [INFO] [stderr] Compiling pin-project-internal v1.0.11 [INFO] [stderr] Checking pin-project v1.0.11 [INFO] [stderr] Checking thiserror v1.0.31 [INFO] [stderr] Checking tungstenite v0.14.0 [INFO] [stderr] Checking tokio-util v0.7.3 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking tokio-tungstenite v0.15.0 [INFO] [stderr] Checking tokio-util v0.6.10 [INFO] [stderr] Checking tokio-stream v0.1.9 [INFO] [stderr] Checking h2 v0.3.13 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking hyper v0.14.20 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking warp v0.3.2 [INFO] [stderr] Checking reqwest v0.11.11 [INFO] [stderr] Checking fcm v0.9.2 [INFO] [stderr] Checking YanPan1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `reqwest::Url` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use reqwest::Url; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `decode` and `encode` [INFO] [stdout] --> src/main.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use urlencoding::{encode, decode}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:426:4 [INFO] [stdout] | [INFO] [stdout] 426 | pass_count: pass_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:427:4 [INFO] [stdout] | [INFO] [stdout] 427 | accept_count: accept_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | plan_salary: plan_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `plan_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:431:4 [INFO] [stdout] | [INFO] [stdout] 431 | pass_salary: pass_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:432:4 [INFO] [stdout] | [INFO] [stdout] 432 | accept_salary: accept_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:434:4 [INFO] [stdout] | [INFO] [stdout] 434 | plan_cost_per_hour: plan_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `plan_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pass_cost_per_hour: pass_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:436:4 [INFO] [stdout] | [INFO] [stdout] 436 | accept_cost_per_hour: accept_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:488:3 [INFO] [stdout] | [INFO] [stdout] 482 | return true; [INFO] [stdout] | ----------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 488 | return true; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Url` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use reqwest::Url; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `decode` and `encode` [INFO] [stdout] --> src/main.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use urlencoding::{encode, decode}; [INFO] [stdout] | ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:426:4 [INFO] [stdout] | [INFO] [stdout] 426 | pass_count: pass_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:427:4 [INFO] [stdout] | [INFO] [stdout] 427 | accept_count: accept_count, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | plan_salary: plan_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `plan_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:431:4 [INFO] [stdout] | [INFO] [stdout] 431 | pass_salary: pass_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:432:4 [INFO] [stdout] | [INFO] [stdout] 432 | accept_salary: accept_salary, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_salary` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:434:4 [INFO] [stdout] | [INFO] [stdout] 434 | plan_cost_per_hour: plan_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `plan_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pass_cost_per_hour: pass_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pass_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:436:4 [INFO] [stdout] | [INFO] [stdout] 436 | accept_cost_per_hour: accept_cost_per_hour, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `accept_cost_per_hour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:488:3 [INFO] [stdout] | [INFO] [stdout] 482 | return true; [INFO] [stdout] | ----------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 488 | return true; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `places` [INFO] [stdout] --> src/main.rs:526:14 [INFO] [stdout] | [INFO] [stdout] 526 | let (tasks, places, operations, objects, plans, passes, accepts, measures) = select_many().await; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_places` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `objects` [INFO] [stdout] --> src/main.rs:526:34 [INFO] [stdout] | [INFO] [stdout] 526 | let (tasks, places, operations, objects, plans, passes, accepts, measures) = select_many().await; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_objects` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `user_id` is never read [INFO] [stdout] --> src/main.rs:572:28 [INFO] [stdout] | [INFO] [stdout] 572 | async fn get_money_summary(mut user_id: u32, tasks_type: u32) -> Result, warp::Rejection> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `places` [INFO] [stdout] --> src/main.rs:526:14 [INFO] [stdout] | [INFO] [stdout] 526 | let (tasks, places, operations, objects, plans, passes, accepts, measures) = select_many().await; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_places` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `objects` [INFO] [stdout] --> src/main.rs:526:34 [INFO] [stdout] | [INFO] [stdout] 526 | let (tasks, places, operations, objects, plans, passes, accepts, measures) = select_many().await; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_objects` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `user_id` is never read [INFO] [stdout] --> src/main.rs:572:28 [INFO] [stdout] | [INFO] [stdout] 572 | async fn get_money_summary(mut user_id: u32, tasks_type: u32) -> Result, warp::Rejection> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/main.rs:897:6 [INFO] [stdout] | [INFO] [stdout] 897 | let auth = warp::path!("auth" / String) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grip` is never constructed [INFO] [stdout] --> src/main.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | struct Grip { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:343:14 [INFO] [stdout] | [INFO] [stdout] 343 | let result: (Vec, Vec, Vec, Vec, Vec, Vec, Vec, Vec) = reqwest::ge... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:374:2 [INFO] [stdout] | [INFO] [stdout] 374 | return hh * 60 + mm; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 374 - return hh * 60 + mm; [INFO] [stdout] 374 + hh * 60 + mm [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:370:22 [INFO] [stdout] | [INFO] [stdout] 370 | fn get_minutes(time: &String) -> i16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 370 - fn get_minutes(time: &String) -> i16 { [INFO] [stdout] 370 + fn get_minutes(time: &str) -> i16 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `s.get(0)` [INFO] [stdout] --> src/main.rs:372:16 [INFO] [stdout] | [INFO] [stdout] 372 | let hh: i16 = s.get(0).unwrap().parse::().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try: `s.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:63 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &[Measure], operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:90 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &[Operation], passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:115 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &[Pass], accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:136 [INFO] [stdout] | [INFO] [stdout] 377 | ...operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &[Accept]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:383:33 [INFO] [stdout] | [INFO] [stdout] 383 | let pass_count: Option = if let Some(pass) = pass { Some(pass.count) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass.map(|pass| pass.count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:384:35 [INFO] [stdout] | [INFO] [stdout] 384 | let accept_count: Option = if let Some(accept) = accept { Some(accept.count) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `accept.map(|accept| accept.count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:441:21 [INFO] [stdout] | [INFO] [stdout] 441 | pass_start_time: if let Some(pass_start_time) = pass_start_time { Some(get_minutes(&pass_start_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_start_time.map(|pass_start_time| get_minutes(&pass_start_time))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:442:19 [INFO] [stdout] | [INFO] [stdout] 442 | pass_end_time: if let Some(pass_end_time) = pass_end_time { Some(get_minutes(&pass_end_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_end_time.map(|pass_end_time| get_minutes(&pass_end_time))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:488:3 [INFO] [stdout] | [INFO] [stdout] 488 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 488 - return true; [INFO] [stdout] 488 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:466:6 [INFO] [stdout] | [INFO] [stdout] 466 | if operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `plan.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | plan_id: if let Some(plan) = plan { Some(plan.id) } else { None }, // Из Plan [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `plan.map(|plan| plan.id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:504:27 [INFO] [stdout] | [INFO] [stdout] 504 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:593:3 [INFO] [stdout] | [INFO] [stdout] 593 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 593 - return true; [INFO] [stdout] 593 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:589:6 [INFO] [stdout] | [INFO] [stdout] 589 | if operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:609:8 [INFO] [stdout] | [INFO] [stdout] 609 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `plan.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:602:13 [INFO] [stdout] | [INFO] [stdout] 602 | plan_id: if let Some(plan) = plan { Some(plan.id) } else { None }, // Из Plan [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `plan.map(|plan| plan.id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:609:27 [INFO] [stdout] | [INFO] [stdout] 609 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/main.rs:635:88 [INFO] [stdout] | [INFO] [stdout] 635 | ...le_price * if let Some(count) = o.pass_count { count } else { 0.0 }).sum::()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `o.pass_count.unwrap_or(0.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/main.rs:636:90 [INFO] [stdout] | [INFO] [stdout] 636 | ..._price * if let Some(count) = o.accept_count { count } else { 0.0 }).sum::()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `o.accept_count.unwrap_or(0.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:643:3 [INFO] [stdout] | [INFO] [stdout] 643 | return (minutes2 - minutes1) as f32 / 60.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 643 - return (minutes2 - minutes1) as f32 / 60.0; [INFO] [stdout] 643 + (minutes2 - minutes1) as f32 / 60.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:753:2 [INFO] [stdout] | [INFO] [stdout] 753 | return format!("{hours}:{minutes}:00"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 753 - return format!("{hours}:{minutes}:00"); [INFO] [stdout] 753 + format!("{hours}:{minutes}:00") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:824:17 [INFO] [stdout] | [INFO] [stdout] 824 | start_time: if let Some(pass_start_time) = pass_start_time { Some(minutes_to_str(pass_start_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_start_time.map(minutes_to_str)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:825:14 [INFO] [stdout] | [INFO] [stdout] 825 | comment: if let Some(pass_comment) = pass_comment { Some(format!("'{pass_comment}'")) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_comment.map(|pass_comment| format!("'{pass_comment}'"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:861:59 [INFO] [stdout] | [INFO] [stdout] 861 | let mut message_builder = MessageBuilder::new(&api_key, &fcm_token); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `fcm_token` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sendToDevice` should have a snake case name [INFO] [stdout] --> src/main.rs:843:10 [INFO] [stdout] | [INFO] [stdout] 843 | async fn sendToDevice(notification: &Notification, task: &Task, worker: &Worker) -> Result<(), Box src/main.rs:866:3 [INFO] [stdout] | [INFO] [stdout] 866 | message_builder.data(&map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 866 | let _ = message_builder.data(&map); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checkAndSendNewTasks` should have a snake case name [INFO] [stdout] --> src/main.rs:881:10 [INFO] [stdout] | [INFO] [stdout] 881 | async fn checkAndSendNewTasks() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_and_send_new_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:888:3 [INFO] [stdout] | [INFO] [stdout] 888 | sendToDevice(¬ification, task, worker).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 888 | let _ = sendToDevice(¬ification, task, worker).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `getRoutes` should have a snake case name [INFO] [stdout] --> src/main.rs:921:6 [INFO] [stdout] | [INFO] [stdout] 921 | let getRoutes = warp::get().and( [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `get_routes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `postRoutes` should have a snake case name [INFO] [stdout] --> src/main.rs:932:6 [INFO] [stdout] | [INFO] [stdout] 932 | let postRoutes = warp::post().and( [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `post_routes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/main.rs:897:6 [INFO] [stdout] | [INFO] [stdout] 897 | let auth = warp::path!("auth" / String) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grip` is never constructed [INFO] [stdout] --> src/main.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | struct Grip { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:343:14 [INFO] [stdout] | [INFO] [stdout] 343 | let result: (Vec, Vec, Vec, Vec, Vec, Vec, Vec, Vec) = reqwest::ge... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:374:2 [INFO] [stdout] | [INFO] [stdout] 374 | return hh * 60 + mm; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 374 - return hh * 60 + mm; [INFO] [stdout] 374 + hh * 60 + mm [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:370:22 [INFO] [stdout] | [INFO] [stdout] 370 | fn get_minutes(time: &String) -> i16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 370 - fn get_minutes(time: &String) -> i16 { [INFO] [stdout] 370 + fn get_minutes(time: &str) -> i16 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `s.get(0)` [INFO] [stdout] --> src/main.rs:372:16 [INFO] [stdout] | [INFO] [stdout] 372 | let hh: i16 = s.get(0).unwrap().parse::().unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try: `s.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:63 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &[Measure], operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:90 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &[Operation], passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:115 [INFO] [stdout] | [INFO] [stdout] 377 | fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accep... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &[Pass], accepts: &Vec) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:377:136 [INFO] [stdout] | [INFO] [stdout] 377 | ...operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 377 - fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &Vec) -> Vec { [INFO] [stdout] 377 + fn get_mobile_operations(user_id: u32, task: &Task, measures: &Vec, operations: &Vec, passes: &Vec, accepts: &[Accept]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:383:33 [INFO] [stdout] | [INFO] [stdout] 383 | let pass_count: Option = if let Some(pass) = pass { Some(pass.count) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass.map(|pass| pass.count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:384:35 [INFO] [stdout] | [INFO] [stdout] 384 | let accept_count: Option = if let Some(accept) = accept { Some(accept.count) } else { None }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `accept.map(|accept| accept.count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:441:21 [INFO] [stdout] | [INFO] [stdout] 441 | pass_start_time: if let Some(pass_start_time) = pass_start_time { Some(get_minutes(&pass_start_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_start_time.map(|pass_start_time| get_minutes(&pass_start_time))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:442:19 [INFO] [stdout] | [INFO] [stdout] 442 | pass_end_time: if let Some(pass_end_time) = pass_end_time { Some(get_minutes(&pass_end_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_end_time.map(|pass_end_time| get_minutes(&pass_end_time))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:488:3 [INFO] [stdout] | [INFO] [stdout] 488 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 488 - return true; [INFO] [stdout] 488 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:466:6 [INFO] [stdout] | [INFO] [stdout] 466 | if operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:504:8 [INFO] [stdout] | [INFO] [stdout] 504 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `plan.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | plan_id: if let Some(plan) = plan { Some(plan.id) } else { None }, // Из Plan [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `plan.map(|plan| plan.id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:504:27 [INFO] [stdout] | [INFO] [stdout] 504 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:593:3 [INFO] [stdout] | [INFO] [stdout] 593 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 593 - return true; [INFO] [stdout] 593 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:589:6 [INFO] [stdout] | [INFO] [stdout] 589 | if operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:609:8 [INFO] [stdout] | [INFO] [stdout] 609 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `plan.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:602:13 [INFO] [stdout] | [INFO] [stdout] 602 | plan_id: if let Some(plan) = plan { Some(plan.id) } else { None }, // Из Plan [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `plan.map(|plan| plan.id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:609:27 [INFO] [stdout] | [INFO] [stdout] 609 | if !plan.is_some() || operations.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `operations.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/main.rs:635:88 [INFO] [stdout] | [INFO] [stdout] 635 | ...le_price * if let Some(count) = o.pass_count { count } else { 0.0 }).sum::()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `o.pass_count.unwrap_or(0.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern reimplements `Option::unwrap_or` [INFO] [stdout] --> src/main.rs:636:90 [INFO] [stdout] | [INFO] [stdout] 636 | ..._price * if let Some(count) = o.accept_count { count } else { 0.0 }).sum::()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `o.accept_count.unwrap_or(0.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:643:3 [INFO] [stdout] | [INFO] [stdout] 643 | return (minutes2 - minutes1) as f32 / 60.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 643 - return (minutes2 - minutes1) as f32 / 60.0; [INFO] [stdout] 643 + (minutes2 - minutes1) as f32 / 60.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:753:2 [INFO] [stdout] | [INFO] [stdout] 753 | return format!("{hours}:{minutes}:00"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 753 - return format!("{hours}:{minutes}:00"); [INFO] [stdout] 753 + format!("{hours}:{minutes}:00") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:824:17 [INFO] [stdout] | [INFO] [stdout] 824 | start_time: if let Some(pass_start_time) = pass_start_time { Some(minutes_to_str(pass_start_time)) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_start_time.map(minutes_to_str)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/main.rs:825:14 [INFO] [stdout] | [INFO] [stdout] 825 | comment: if let Some(pass_comment) = pass_comment { Some(format!("'{pass_comment}'")) } else { None }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pass_comment.map(|pass_comment| format!("'{pass_comment}'"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:861:59 [INFO] [stdout] | [INFO] [stdout] 861 | let mut message_builder = MessageBuilder::new(&api_key, &fcm_token); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `fcm_token` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sendToDevice` should have a snake case name [INFO] [stdout] --> src/main.rs:843:10 [INFO] [stdout] | [INFO] [stdout] 843 | async fn sendToDevice(notification: &Notification, task: &Task, worker: &Worker) -> Result<(), Box src/main.rs:866:3 [INFO] [stdout] | [INFO] [stdout] 866 | message_builder.data(&map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 866 | let _ = message_builder.data(&map); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checkAndSendNewTasks` should have a snake case name [INFO] [stdout] --> src/main.rs:881:10 [INFO] [stdout] | [INFO] [stdout] 881 | async fn checkAndSendNewTasks() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `check_and_send_new_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:888:3 [INFO] [stdout] | [INFO] [stdout] 888 | sendToDevice(¬ification, task, worker).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 888 | let _ = sendToDevice(¬ification, task, worker).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `getRoutes` should have a snake case name [INFO] [stdout] --> src/main.rs:921:6 [INFO] [stdout] | [INFO] [stdout] 921 | let getRoutes = warp::get().and( [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `get_routes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `postRoutes` should have a snake case name [INFO] [stdout] --> src/main.rs:932:6 [INFO] [stdout] | [INFO] [stdout] 932 | let postRoutes = warp::post().and( [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `post_routes` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.40s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, openssl v0.10.41 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "61221938fae29defa252677e5fc32ad4c83bada4affa6f4c10ffb9e67f0fa2c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61221938fae29defa252677e5fc32ad4c83bada4affa6f4c10ffb9e67f0fa2c0", kill_on_drop: false }` [INFO] [stdout] 61221938fae29defa252677e5fc32ad4c83bada4affa6f4c10ffb9e67f0fa2c0