[INFO] cloning repository https://github.com/tibs245/oria-starter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tibs245/oria-starter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftibs245%2Foria-starter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftibs245%2Foria-starter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f2bcebb9eb06e587154965f41f3410bbd7af1205 [INFO] linting tibs245/oria-starter against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftibs245%2Foria-starter" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tibs245/oria-starter [INFO] finished tweaking git repo https://github.com/tibs245/oria-starter [INFO] tweaked toml for git repo https://github.com/tibs245/oria-starter written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tibs245/oria-starter 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/tibs245/oria-starter 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] Downloading crates ... [INFO] [stderr] Downloaded rustc_version_runtime v0.3.0 [INFO] [stderr] Downloaded semver v1.0.24 [INFO] [stderr] Downloaded typed-builder v0.10.0 [INFO] [stderr] Downloaded typeshare-annotation v1.0.4 [INFO] [stderr] Downloaded shuttle-service v0.51.0 [INFO] [stderr] Downloaded typeshare v1.0.4 [INFO] [stderr] Downloaded shuttle-codegen v0.51.0 [INFO] [stderr] Downloaded shuttle-axum v0.51.0 [INFO] [stderr] Downloaded shuttle-api-client v0.51.0 [INFO] [stderr] Downloaded rmp v0.8.14 [INFO] [stderr] Downloaded strfmt v0.2.4 [INFO] [stderr] Downloaded rmp-serde v1.3.0 [INFO] [stderr] Downloaded pin-project v1.1.8 [INFO] [stderr] Downloaded crossbeam-channel v0.5.14 [INFO] [stderr] Downloaded crossterm v0.26.1 [INFO] [stderr] Downloaded opentelemetry_sdk v0.21.2 [INFO] [stderr] Downloaded tracing-opentelemetry v0.22.0 [INFO] [stderr] Downloaded pasetors v0.7.1 [INFO] [stderr] Downloaded orion v0.17.7 [INFO] [stderr] Downloaded deunicode v1.6.0 [INFO] [stderr] Downloaded serde_json v1.0.136 [INFO] [stderr] Downloaded hyper v1.5.2 [INFO] [stderr] Downloaded syn v2.0.96 [INFO] [stderr] Downloaded fake v3.1.0 [INFO] [stderr] Downloaded bson v2.13.0 [INFO] [stderr] Downloaded axum-extra v0.10.0 [INFO] [stderr] Downloaded cc v1.2.10 [INFO] [stderr] Downloaded opentelemetry v0.21.0 [INFO] [stderr] Downloaded hickory-proto v0.24.2 [INFO] [stderr] Downloaded mongodb v3.2.0 [INFO] [stderr] Downloaded tonic v0.10.2 [INFO] [stderr] Downloaded hickory-resolver v0.24.2 [INFO] [stderr] Downloaded miniz_oxide v0.8.3 [INFO] [stderr] Downloaded shuttle-common v0.51.0 [INFO] [stderr] Downloaded async-trait v0.1.85 [INFO] [stderr] Downloaded pin-project-internal v1.1.8 [INFO] [stderr] Downloaded ed25519-compact v2.1.1 [INFO] [stderr] Downloaded serde_test v1.0.177 [INFO] [stderr] Downloaded data-encoding v2.7.0 [INFO] [stderr] Downloaded shuttle-proto v0.51.0 [INFO] [stderr] Downloaded opentelemetry-http v0.10.0 [INFO] [stderr] Downloaded ct-codecs v1.1.3 [INFO] [stderr] Downloaded mongodb-internal-macros v3.2.0 [INFO] [stderr] Downloaded dummy v0.9.1 [INFO] [stderr] Downloaded macro_magic_core v0.5.1 [INFO] [stderr] Downloaded shuttle-runtime v0.51.0 [INFO] [stderr] Downloaded macro_magic_core_macros v0.5.1 [INFO] [stderr] Downloaded macro_magic_macros v0.5.1 [INFO] [stderr] Downloaded macro_magic v0.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7156a89d0d75bdb69b4a97417c6177bb443fe8783bf148a4edb90b1d2330e635 [INFO] running `Command { std: "docker" "start" "-a" "7156a89d0d75bdb69b4a97417c6177bb443fe8783bf148a4edb90b1d2330e635", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7156a89d0d75bdb69b4a97417c6177bb443fe8783bf148a4edb90b1d2330e635", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7156a89d0d75bdb69b4a97417c6177bb443fe8783bf148a4edb90b1d2330e635", kill_on_drop: false }` [INFO] [stdout] 7156a89d0d75bdb69b4a97417c6177bb443fe8783bf148a4edb90b1d2330e635 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] 77b305df9df44725e25b4c51dc2be5704058850329b48fd31fa8b2e0c861cb5c [INFO] running `Command { std: "docker" "start" "-a" "77b305df9df44725e25b4c51dc2be5704058850329b48fd31fa8b2e0c861cb5c", kill_on_drop: false }` [INFO] [stderr] Checking bytes v1.9.0 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling rustversion v1.0.19 [INFO] [stderr] Compiling cc v1.2.10 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling serde_json v1.0.136 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking cpufeatures v0.2.16 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking indexmap v2.7.0 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling semver v1.0.24 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking data-encoding v2.7.0 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking tinyvec v1.8.1 [INFO] [stderr] Checking crossbeam-channel v0.5.14 [INFO] [stderr] Compiling time-macros v0.2.19 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking glob v0.3.2 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking match_cfg v0.1.0 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling rustc_version_runtime v0.3.0 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Checking base64ct v1.6.0 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking bitflags v2.8.0 [INFO] [stderr] Checking password-hash v0.4.2 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Checking time v0.3.37 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking fiat-crypto v0.2.9 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking headers v0.4.0 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking sha-1 v0.10.1 [INFO] [stderr] Checking ed25519-compact v2.1.1 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking ct-codecs v1.1.3 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking task-local-extensions v0.1.4 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking predicates-core v1.0.9 [INFO] [stderr] Checking strfmt v0.2.4 [INFO] [stderr] Compiling mockall_derive v0.13.1 [INFO] [stderr] Checking termtree v0.5.1 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling typed-builder v0.10.0 [INFO] [stderr] Checking predicates v3.1.3 [INFO] [stderr] Checking predicates-tree v1.0.12 [INFO] [stderr] Checking fragile v2.0.0 [INFO] [stderr] Checking deunicode v1.6.0 [INFO] [stderr] Checking downcast v0.11.0 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking zerofrom v0.1.5 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Compiling async-trait v0.1.85 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling macro_magic_core_macros v0.5.1 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Compiling pin-project-internal v1.1.8 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking opentelemetry v0.21.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling macro_magic_core v0.5.1 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking pin-project v1.1.8 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking opentelemetry_sdk v0.21.2 [INFO] [stderr] Checking axum-core v0.5.0 [INFO] [stderr] Compiling macro_magic_macros v0.5.1 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking hyper v1.5.2 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Compiling typeshare-annotation v1.0.4 [INFO] [stderr] Compiling axum-macros v0.5.0 [INFO] [stderr] Compiling macro_magic v0.5.1 [INFO] [stderr] Checking opentelemetry-http v0.10.0 [INFO] [stderr] Compiling serde_with_macros v3.12.0 [INFO] [stderr] Checking comfy-table v6.2.0 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling mongodb-internal-macros v3.2.0 [INFO] [stderr] Checking tokio-io-timeout v1.2.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking uuid v1.12.0 [INFO] [stderr] Checking chrono v0.4.39 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking serde_path_to_error v0.1.16 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking serde_with v3.12.0 [INFO] [stderr] Checking axum v0.8.1 [INFO] [stderr] Checking bson v2.13.0 [INFO] [stderr] Checking hickory-proto v0.24.2 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking typeshare v1.0.4 [INFO] [stderr] Checking orion v0.17.7 [INFO] [stderr] Checking tracing-opentelemetry v0.22.0 [INFO] [stderr] Compiling derive-where v1.2.7 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking pasetors v0.7.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking tungstenite v0.20.1 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking tokio-tungstenite v0.20.1 [INFO] [stderr] Checking prost-types v0.12.6 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking hickory-resolver v0.24.2 [INFO] [stderr] Compiling shuttle-codegen v0.51.0 [INFO] [stderr] Compiling dummy v0.9.1 [INFO] [stderr] Checking serde_test v1.0.177 [INFO] [stderr] Checking fake v3.1.0 [INFO] [stderr] Checking mongodb v3.2.0 [INFO] [stderr] Checking axum-extra v0.10.0 [INFO] [stderr] Checking mockall v0.13.1 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking hyper-timeout v0.4.1 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking shuttle-common v0.51.0 [INFO] [stderr] Checking reqwest-middleware v0.2.5 [INFO] [stderr] Checking shuttle-service v0.51.0 [INFO] [stderr] Checking shuttle-api-client v0.51.0 [INFO] [stderr] Checking tonic v0.10.2 [INFO] [stderr] Checking shuttle-proto v0.51.0 [INFO] [stderr] Checking shuttle-runtime v0.51.0 [INFO] [stderr] Checking shuttle-axum v0.51.0 [INFO] [stderr] Checking auth-module v0.1.0 (/opt/rustwide/workdir/auth) [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/settings.rs:51:29 [INFO] [stdout] | [INFO] [stdout] 51 | const FAKE_SECRET_KEY: &'static [u8] = b"y8zar2SZhQoufiUpYSGF94eTzqJ8Q6xo4nFb3TeImqzVX9Bs0xCfK0fpt0g7OcrrQXnTgo2Sz3xBGOoc7ZJ50Q=="; [INFO] [stdout] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/settings.rs:52:29 [INFO] [stdout] | [INFO] [stdout] 52 | const FAKE_PUBLIC_KEY: &'static [u8] = b"1V/QbNMQnytH6bdIOznK60F504KNks98QRjqHO2SedE="; [INFO] [stdout] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | const TOKEN_USERNAME: &'static str = "Juliana McLaughlin"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:41:37 [INFO] [stdout] | [INFO] [stdout] 41 | const ACCESS_TOKEN_IDENTIFIER: &'static str = "a7cbd03a-68f1-4ec9-a17f-f54e71cd2dee"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:42:26 [INFO] [stdout] | [INFO] [stdout] 42 | const ACCESS_TOKEN: &'static str = "v4.public.eyJ1c2VybmFtZSI6Ikp1bGlhbmEgTWNMYXVnaGxpbiIsInJvbGUiOiJNb2RlcmF0b3IiLCJuYmYiOiIyMD... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | const ROLES_TOKEN: &'static str = "Moderator"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 45 | const REFRESH_TOKEN_IDENTIFIER: &'static str = "94377ef3-e313-4e84-a35b-be29a9ef3fdf"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> auth/src/utils/validate_token.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | const REFRESH_TOKEN: &'static str = "v4.public.eyJ1c2VybmFtZSI6Ikp1bGlhbmEgTWNMYXVnaGxpbiIsImV4cCI6IjIwNDQtMDYtMzBUMTc6Mjg6MzMuN... [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> auth/src/layer/claims.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | fn call(&mut self, mut request: Request) -> Self::Future { [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: trait `AuthServiceProvider` is never used [INFO] [stdout] --> auth/src/auth_router_builder.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | trait AuthServiceProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/services/get_credentials_from_username.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | .map_err(|error| Box::from(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/services/get_credentials_from_username.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | .get_user_by_username(&username) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `username` [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: redundant closure [INFO] [stdout] --> auth/src/services/create_credentials.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | .map_err(|error| Box::from(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/controller/create_credentials.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> auth/src/datastore/mongo/tokens.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | / return Self { [INFO] [stdout] 22 | | collection: database.collection::(Self::DEFAULT_COLLECTION_NAME) [INFO] [stdout] 23 | | }; [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] 21 ~ Self { [INFO] [stdout] 22 + collection: database.collection::(Self::DEFAULT_COLLECTION_NAME) [INFO] [stdout] 23 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/utils/generate_token.rs:46:109 [INFO] [stdout] | [INFO] [stdout] 46 | let (access_token_id, access_expired_at, access_token) = Self::generate_access_token(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:46:94 [INFO] [stdout] | [INFO] [stdout] 46 | let (access_token_id, access_expired_at, access_token) = Self::generate_access_token(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^ help: change this to: `user` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/utils/generate_token.rs:47:113 [INFO] [stdout] | [INFO] [stdout] 47 | ...(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:47:98 [INFO] [stdout] | [INFO] [stdout] 47 | ... let (refresh_token_id, refresh_expired_at, refresh_token) = Self::generate_refresh_token(&user).map_err(|error| Box::new(error... [INFO] [stdout] | ^^^^^ help: change this to: `user` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> auth/src/utils/auth_claims.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | write!(f, "Username: {}\n", self.username) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 16 - write!(f, "Username: {}\n", self.username) [INFO] [stdout] 16 + writeln!(f, "Username: {}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> auth/src/layer/claims.rs:89:37 [INFO] [stdout] | [INFO] [stdout] 89 | let user_role = auth_claims.role.unwrap_or_else(|| Roles::None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 89 - let user_role = auth_claims.role.unwrap_or_else(|| Roles::None); [INFO] [stdout] 89 + let user_role = auth_claims.role.unwrap_or(Roles::None); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking user-module v0.1.0 (/opt/rustwide/workdir/user) [INFO] [stdout] warning: unused import: `auth_module::datastore::AuthDatastore` [INFO] [stdout] --> user/src/services/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use auth_module::datastore::AuthDatastore; [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 imports: `AuthCreateCredentialsService` and `AuthGetCredentialsService` [INFO] [stdout] --> user/src/services/mod.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | use auth_module::services::{AuthCreateCredentialsService, AuthGetCredentialsService}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthTokensService` and `AuthValidCredentialsService` [INFO] [stdout] --> user/src/user_router_builder.rs:11:99 [INFO] [stdout] | [INFO] [stdout] 11 | ... AuthGetCredentialsService, AuthService, AuthTokensService, AuthValidCredentialsService}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `auth_module::datastore::AuthDatastore` [INFO] [stdout] --> user/src/services/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use auth_module::datastore::AuthDatastore; [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 imports: `AuthCreateCredentialsService` and `AuthGetCredentialsService` [INFO] [stdout] --> user/src/services/mod.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | use auth_module::services::{AuthCreateCredentialsService, AuthGetCredentialsService}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `future::Future` and `pin::Pin` [INFO] [stdout] --> user/src/services/add_user.rs:42:29 [INFO] [stdout] | [INFO] [stdout] 42 | use std::{error::Error, future::Future, pin::Pin}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> user/src/services/add_user.rs:60:99 [INFO] [stdout] | [INFO] [stdout] 60 | ...lt>>; [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] 60 - ) -> impl std::future::Future>>; [INFO] [stdout] 60 + ) -> impl std::future::Future>>; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthTokensService` and `AuthValidCredentialsService` [INFO] [stdout] --> user/src/user_router_builder.rs:11:99 [INFO] [stdout] | [INFO] [stdout] 11 | ... AuthGetCredentialsService, AuthService, AuthTokensService, AuthValidCredentialsService}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> user/src/user_router_builder.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct UserRouterBuilder>, [INFO] [stdout] 24 | rules: HashMap bool>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> user/src/controller/add_user.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> user/src/controller/get_own_profile.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `views::response::UserPrivateDetails` [INFO] [stdout] --> user/src/controller/get_own_profile.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | Ok((StatusCode::CREATED, Json(user_created.into()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `user_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking village-api v0.1.0 (/opt/rustwide/workdir/api) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> api/src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb; [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: this import is redundant [INFO] [stdout] --> api/src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb; [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: struct `ApiState` is never constructed [INFO] [stdout] --> api/src/utils/api_state.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ApiState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> user/src/user_router_builder.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct UserRouterBuilder>, [INFO] [stdout] 24 | rules: HashMap bool>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiState` is never constructed [INFO] [stdout] --> api/src/utils/api_state.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct ApiState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> user/src/controller/add_user.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> user/src/controller/get_own_profile.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `views::response::UserPrivateDetails` [INFO] [stdout] --> user/src/controller/get_own_profile.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | Ok((StatusCode::CREATED, Json(user_created.into()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `user_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> auth/src/layer/claims.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | fn call(&mut self, mut request: Request) -> Self::Future { [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: struct `AuthDatastoreMemory` is never constructed [INFO] [stdout] --> auth/src/datastore/memory/mod.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct AuthDatastoreMemory { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AuthServiceProvider` is never used [INFO] [stdout] --> auth/src/auth_router_builder.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | trait AuthServiceProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/services/get_credentials_from_username.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | .map_err(|error| Box::from(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/services/get_credentials_from_username.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | .get_user_by_username(&username) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `username` [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: redundant closure [INFO] [stdout] --> auth/src/services/create_credentials.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | .map_err(|error| Box::from(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ObjectId` which implements the `Copy` trait [INFO] [stdout] --> auth/src/entities/mod.rs:274:26 [INFO] [stdout] | [INFO] [stdout] 274 | id: Some(OBJECT_ID.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*OBJECT_ID` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> auth/src/controller/login.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | / return Box::pin(future::ready(Ok(Some(UserCredentials { [INFO] [stdout] 44 | | username: username.to_string(), [INFO] [stdout] 45 | | password: UserCredentials::hash_password(PASSWORD.clone()), [INFO] [stdout] 46 | | ..Faker.fake::() [INFO] [stdout] 47 | | })))); [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] 43 ~ Box::pin(future::ready(Ok(Some(UserCredentials { [INFO] [stdout] 44 + username: username.to_string(), [INFO] [stdout] 45 + password: UserCredentials::hash_password(PASSWORD.clone()), [INFO] [stdout] 46 + ..Faker.fake::() [INFO] [stdout] 47 ~ })))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> auth/src/controller/login.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | return Box::pin(future::ready(Ok(None))); [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] 77 - return Box::pin(future::ready(Ok(None))); [INFO] [stdout] 77 + Box::pin(future::ready(Ok(None))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/controller/create_credentials.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | .map_err(|error| handle_error(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `handle_error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> auth/src/datastore/memory/memory_driver.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | return None; [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] 33 - return None; [INFO] [stdout] 33 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> auth/src/datastore/mongo/tokens.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | / return Self { [INFO] [stdout] 22 | | collection: database.collection::(Self::DEFAULT_COLLECTION_NAME) [INFO] [stdout] 23 | | }; [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] 21 ~ Self { [INFO] [stdout] 22 + collection: database.collection::(Self::DEFAULT_COLLECTION_NAME) [INFO] [stdout] 23 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/utils/generate_token.rs:46:109 [INFO] [stdout] | [INFO] [stdout] 46 | let (access_token_id, access_expired_at, access_token) = Self::generate_access_token(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:46:94 [INFO] [stdout] | [INFO] [stdout] 46 | let (access_token_id, access_expired_at, access_token) = Self::generate_access_token(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^ help: change this to: `user` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> auth/src/utils/generate_token.rs:47:113 [INFO] [stdout] | [INFO] [stdout] 47 | ...(&user).map_err(|error| Box::new(error))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Box::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:47:98 [INFO] [stdout] | [INFO] [stdout] 47 | ... let (refresh_token_id, refresh_expired_at, refresh_token) = Self::generate_refresh_token(&user).map_err(|error| Box::new(error... [INFO] [stdout] | ^^^^^ help: change this to: `user` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:81:50 [INFO] [stdout] | [INFO] [stdout] 81 | assert!(validation_rules.validate_claims(&trusted_token.payload_claims().unwrap()).is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `trusted_token.payload_claims().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> auth/src/utils/generate_token.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | assert!(validation_rules.validate_claims(&trusted_token.payload_claims().unwrap()).is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `trusted_token.payload_claims().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> auth/src/utils/auth_claims.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | write!(f, "Username: {}\n", self.username) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 16 - write!(f, "Username: {}\n", self.username) [INFO] [stdout] 16 + writeln!(f, "Username: {}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> auth/src/utils/auth_claims.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | assert!(!auth_claims.role.is_none()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `auth_claims.role.is_some()` [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: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> auth/src/layer/claims.rs:89:37 [INFO] [stdout] | [INFO] [stdout] 89 | let user_role = auth_claims.role.unwrap_or_else(|| Roles::None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 89 - let user_role = auth_claims.role.unwrap_or_else(|| Roles::None); [INFO] [stdout] 89 + let user_role = auth_claims.role.unwrap_or(Roles::None); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 50s [INFO] running `Command { std: "docker" "inspect" "77b305df9df44725e25b4c51dc2be5704058850329b48fd31fa8b2e0c861cb5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77b305df9df44725e25b4c51dc2be5704058850329b48fd31fa8b2e0c861cb5c", kill_on_drop: false }` [INFO] [stdout] 77b305df9df44725e25b4c51dc2be5704058850329b48fd31fa8b2e0c861cb5c