[INFO] cloning repository https://github.com/guohongliu/rust-learn-demo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guohongliu/rust-learn-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguohongliu%2Frust-learn-demo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguohongliu%2Frust-learn-demo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 37d94a131f2cc2d00b9edd0df230c9edf3019e1f [INFO] checking guohongliu/rust-learn-demo/37d94a131f2cc2d00b9edd0df230c9edf3019e1f against master#fe7294f8793d001bc3f9d197e7cdef6cdb46c15a for pr-153912 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguohongliu%2Frust-learn-demo" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/guohongliu/rust-learn-demo [INFO] finished tweaking git repo https://github.com/guohongliu/rust-learn-demo [INFO] tweaked toml for git repo https://github.com/guohongliu/rust-learn-demo written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/guohongliu/rust-learn-demo on toolchain fe7294f8793d001bc3f9d197e7cdef6cdb46c15a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fe7294f8793d001bc3f9d197e7cdef6cdb46c15a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/guohongliu/rust-learn-demo 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" "+fe7294f8793d001bc3f9d197e7cdef6cdb46c15a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_core v1.0.226 [INFO] [stderr] Downloaded serde v1.0.226 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.103 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.103 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.103 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.103 [INFO] [stderr] Downloaded serde_derive v1.0.226 [INFO] [stderr] Downloaded windows-core v0.62.0 [INFO] [stderr] Downloaded js-sys v0.3.80 [INFO] [stderr] Downloaded cc v1.2.38 [INFO] [stderr] Downloaded wasm-bindgen v0.2.103 [INFO] [stderr] Downloaded web-sys v0.3.80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+fe7294f8793d001bc3f9d197e7cdef6cdb46c15a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8301ca0b2cd05c1b9ee3d9cd35925350e825212f0530c90786ce03d1e59bd1ad [INFO] running `Command { std: "docker" "start" "-a" "8301ca0b2cd05c1b9ee3d9cd35925350e825212f0530c90786ce03d1e59bd1ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8301ca0b2cd05c1b9ee3d9cd35925350e825212f0530c90786ce03d1e59bd1ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8301ca0b2cd05c1b9ee3d9cd35925350e825212f0530c90786ce03d1e59bd1ad", kill_on_drop: false }` [INFO] [stdout] 8301ca0b2cd05c1b9ee3d9cd35925350e825212f0530c90786ce03d1e59bd1ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+fe7294f8793d001bc3f9d197e7cdef6cdb46c15a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10548457afcd5098fceac16d39240a3d436f50659ae40d2a4022310b0b4a2c63 [INFO] running `Command { std: "docker" "start" "-a" "10548457afcd5098fceac16d39240a3d436f50659ae40d2a4022310b0b4a2c63", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling serde_core v1.0.226 [INFO] [stderr] Compiling serde v1.0.226 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking clap_builder v4.5.48 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking axum-core v0.5.2 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking clap v4.5.48 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Compiling serde_derive v1.0.226 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking hyper-util v0.1.17 [INFO] [stderr] Checking axum v0.8.4 [INFO] [stderr] Checking rust-learn-demo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected parameter name, found `,` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | mut req: Request,, [INFO] [stdout] | ^ expected parameter name [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected parameter name, found `,` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | mut req: Request,, [INFO] [stdout] | ^ expected parameter name [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/spring/RBAC/authentication.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Authentication` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:9:43 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::spring::RBAC::authentication::{Authentication, AuthenticationManager, AuthenticationRequest}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/algorithm_learn/two_sum.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/algorithm_learn/add_two_numbers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null_mut` [INFO] [stdout] --> src/algorithm_learn/desgin_hashmap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr::null_mut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | if (short_str.len() < str.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - if (short_str.len() < str.len()) { [INFO] [stdout] 19 + if short_str.len() < str.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | if (short_str.len() < str.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - if (short_str.len() < str.len()) { [INFO] [stdout] 27 + if short_str.len() < str.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | if (nums_vec.len() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 6 - if (nums_vec.len() == 0) { [INFO] [stdout] 6 + if nums_vec.len() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | } else if (nums_vec.len() == 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 8 - } else if (nums_vec.len() == 1) { [INFO] [stdout] 8 + } else if nums_vec.len() == 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | if (nums_vec.len() % 2 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 12 - if (nums_vec.len() % 2 == 0) { [INFO] [stdout] 12 + if nums_vec.len() % 2 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | if (left < 0 || right == chars_len) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - if (left < 0 || right == chars_len) { [INFO] [stdout] 15 + if left < 0 || right == chars_len { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/spring/RBAC/authentication.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Authentication` [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:9:43 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::spring::RBAC::authentication::{Authentication, AuthenticationManager, AuthenticationRequest}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/algorithm_learn/two_sum.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/algorithm_learn/add_two_numbers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null_mut` [INFO] [stdout] --> src/algorithm_learn/desgin_hashmap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr::null_mut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | if (short_str.len() < str.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - if (short_str.len() < str.len()) { [INFO] [stdout] 19 + if short_str.len() < str.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | if (short_str.len() < str.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 27 - if (short_str.len() < str.len()) { [INFO] [stdout] 27 + if short_str.len() < str.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | if (nums_vec.len() == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 6 - if (nums_vec.len() == 0) { [INFO] [stdout] 6 + if nums_vec.len() == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 8 | } else if (nums_vec.len() == 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 8 - } else if (nums_vec.len() == 1) { [INFO] [stdout] 8 + } else if nums_vec.len() == 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/median_of_two_sorted_arrays.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | if (nums_vec.len() % 2 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 12 - if (nums_vec.len() % 2 == 0) { [INFO] [stdout] 12 + if nums_vec.len() % 2 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | if (left < 0 || right == chars_len) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 15 - if (left < 0 || right == chars_len) { [INFO] [stdout] 15 + if left < 0 || right == chars_len { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `authentication` found for struct `Box` in the current scope [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | match auth_manager.authentication(&auth_req) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `authenticate` with a similar name [INFO] [stdout] | [INFO] [stdout] 24 - match auth_manager.authentication(&auth_req) { [INFO] [stdout] 24 + match auth_manager.authenticate(&auth_req) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `authentication` found for struct `Box` in the current scope [INFO] [stdout] --> src/spring/RBAC/authentication_middleware.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | match auth_manager.authentication(&auth_req) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `authenticate` with a similar name [INFO] [stdout] | [INFO] [stdout] 24 - match auth_manager.authentication(&auth_req) { [INFO] [stdout] 24 + match auth_manager.authenticate(&auth_req) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[char]` cannot be indexed by `i32` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | if chars[left] == chars[right] { [INFO] [stdout] | ^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[char]>` is not implemented for `i32` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:197:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:214:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex<[T]>` [INFO] [stdout] = note: required for `Vec` to implement `Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[char]` cannot be indexed by `i32` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:19:26 [INFO] [stdout] | [INFO] [stdout] 19 | if chars[left] == chars[right] { [INFO] [stdout] | ^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[char]>` is not implemented for `i32` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:197:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:214:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex<[T]>` [INFO] [stdout] = note: required for `Vec` to implement `Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[char]` cannot be indexed by `i32` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | if chars[left] == chars[right] { [INFO] [stdout] | ^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[char]>` is not implemented for `i32` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:197:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:214:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex<[T]>` [INFO] [stdout] = note: required for `Vec` to implement `Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `[char]` cannot be indexed by `i32` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | if chars[left] == chars[right] { [INFO] [stdout] | ^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex<[char]>` is not implemented for `i32` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:197:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:214:0 [INFO] [stdout] | [INFO] [stdout] = note: `usize` implements `SliceIndex<[T]>` [INFO] [stdout] = note: required for `Vec` to implement `Index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | if result.len() < (right - left) { [INFO] [stdout] | ------------ ^^^^^^^^^^^^^^ expected `usize`, found `i32` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `i32` to a `usize` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 20 | if result.len() < ((right - left)).try_into().unwrap() { [INFO] [stdout] | + +++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | if result.len() < (right - left) { [INFO] [stdout] | ------------ ^^^^^^^^^^^^^^ expected `usize`, found `i32` [INFO] [stdout] | | [INFO] [stdout] | expected because this is `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert an `i32` to a `usize` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 20 | if result.len() < ((right - left)).try_into().unwrap() { [INFO] [stdout] | + +++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `std::ops::RangeInclusive` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | result = (&s[left..=right]).parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ string indices are ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex` is not implemented for `std::ops::RangeInclusive` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:230:8 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex` [INFO] [stdout] ::: /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:268:0 [INFO] [stdout] | [INFO] [stdout] = note: in this macro invocation [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:670:0 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex<[T]>` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/str/traits.rs:632:0 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex` [INFO] [stdout] = note: required for `String` to implement `Index>` [INFO] [stdout] = note: this error originates in the macro `impl_slice_index` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `std::ops::RangeInclusive` [INFO] [stdout] --> src/algorithm_learn/longest_palindromic_substring.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | result = (&s[left..=right]).parse().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ string indices are ranges of `usize` [INFO] [stdout] | [INFO] [stdout] = help: the trait `SliceIndex` is not implemented for `std::ops::RangeInclusive` [INFO] [stdout] help: the following other types implement trait `SliceIndex` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:230:8 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex` [INFO] [stdout] ::: /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/bstr/traits.rs:268:0 [INFO] [stdout] | [INFO] [stdout] = note: in this macro invocation [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/slice/index.rs:670:0 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex<[T]>` [INFO] [stdout] --> /rustc/fe7294f8793d001bc3f9d197e7cdef6cdb46c15a/library/core/src/str/traits.rs:632:0 [INFO] [stdout] | [INFO] [stdout] = note: `std::ops::RangeInclusive` implements `SliceIndex` [INFO] [stdout] = note: required for `String` to implement `Index>` [INFO] [stdout] = note: this error originates in the macro `impl_slice_index` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut start = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut start = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut start = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/algorithm_learn/longest_substring_without_repeating_characters.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let mut start = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hash` is never read [INFO] [stdout] --> src/simple_blockchain/simple_blockchain.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | let mut hash = String::new(); [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: value assigned to `hash` is never read [INFO] [stdout] --> src/simple_blockchain/simple_blockchain.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | let mut hash = String::new(); [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] Some errors have detailed explanations: E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rust-learn-demo` (lib test) due to 6 previous errors; 17 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `rust-learn-demo` (lib) due to 6 previous errors; 19 warnings emitted [INFO] running `Command { std: "docker" "inspect" "10548457afcd5098fceac16d39240a3d436f50659ae40d2a4022310b0b4a2c63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10548457afcd5098fceac16d39240a3d436f50659ae40d2a4022310b0b4a2c63", kill_on_drop: false }` [INFO] [stdout] 10548457afcd5098fceac16d39240a3d436f50659ae40d2a4022310b0b4a2c63