[INFO] cloning repository https://github.com/Slavi123456/my_project [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Slavi123456/my_project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSlavi123456%2Fmy_project", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSlavi123456%2Fmy_project'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c7f6da460e2bf345b5d85f2b0ead7f4dd2bc5021 [INFO] checking Slavi123456/my_project against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSlavi123456%2Fmy_project" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Slavi123456/my_project [INFO] finished tweaking git repo https://github.com/Slavi123456/my_project [INFO] tweaked toml for git repo https://github.com/Slavi123456/my_project written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Slavi123456/my_project on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Slavi123456/my_project 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba [INFO] running `Command { std: "docker" "start" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Compiling generic-array v0.14.8 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling base64ct v1.8.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling sqlx-core v0.7.4 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling rsa v0.9.8 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling sqlx-mysql v0.7.4 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking my_project v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/structs/app_state.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | user.get_base_mut().copy_operator(&updated_user); [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] 104 | let _ = user.get_base_mut().copy_operator(&updated_user); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/structs/app_state.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | user.get_base_mut().copy_operator(&updated_user); [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] 104 | let _ = user.get_base_mut().copy_operator(&updated_user); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | "Joan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 11 - "Joan".into(), [INFO] [stdout] 11 + "Joan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 11 - "Joan".into(), [INFO] [stdout] 11 + <&str as Into<_>>::into("Joan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | "Doan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 12 - "Doan".into(), [INFO] [stdout] 12 + "Doan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 12 - "Doan".into(), [INFO] [stdout] 12 + <&str as Into<_>>::into("Doan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | "j@d.c".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 13 - "j@d.c".into(), [INFO] [stdout] 13 + "j@d.c", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 13 - "j@d.c".into(), [INFO] [stdout] 13 + <&str as Into<_>>::into("j@d.c"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | "12345678".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 14 - "12345678".into(), [INFO] [stdout] 14 + "12345678", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 14 - "12345678".into(), [INFO] [stdout] 14 + <&str as Into<_>>::into("12345678"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("", "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new(<&str as Into<_>>::into(""), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), "Doan", "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), <&str as Into<_>>::into("Doan"), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:20:49 [INFO] [stdout] | [INFO] [stdout] 20 | assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), "Doan".into(), "j@d.c", "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), "Doan".into(), <&str as Into<_>>::into("j@d.c"), "12345678".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:20:65 [INFO] [stdout] | [INFO] [stdout] 20 | assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678").is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 20 - assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), "12345678".into()).is_err()); [INFO] [stdout] 20 + assert!(User::new("".into(), "Doan".into(), "j@d.c".into(), <&str as Into<_>>::into("12345678")).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | "Joan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 23 - "Joan".into(), [INFO] [stdout] 23 + "Joan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 23 - "Joan".into(), [INFO] [stdout] 23 + <&str as Into<_>>::into("Joan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | "Doan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 24 - "Doan".into(), [INFO] [stdout] 24 + "Doan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 24 - "Doan".into(), [INFO] [stdout] 24 + <&str as Into<_>>::into("Doan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | "invalid".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 25 - "invalid".into(), [INFO] [stdout] 25 + "invalid", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 25 - "invalid".into(), [INFO] [stdout] 25 + <&str as Into<_>>::into("invalid"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | "12345678".into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 26 - "12345678".into() [INFO] [stdout] 26 + "12345678" [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 26 - "12345678".into() [INFO] [stdout] 26 + <&str as Into<_>>::into("12345678") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan", "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new(<&str as Into<_>>::into("Joan"), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:30:38 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), "Doan", "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), <&str as Into<_>>::into("Doan"), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), "Doan".into(), "j@d.c", "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), "Doan".into(), <&str as Into<_>>::into("j@d.c"), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:30:69 [INFO] [stdout] | [INFO] [stdout] 30 | assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234").is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 30 - assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), "1234".into()).is_err()); [INFO] [stdout] 30 + assert!(User::new("Joan".into(), "Doan".into(), "j@d.c".into(), <&str as Into<_>>::into("1234")).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("", "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new(<&str as Into<_>>::into(""), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), "Doan", "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), <&str as Into<_>>::into("Doan"), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:31:49 [INFO] [stdout] | [INFO] [stdout] 31 | assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), "Doan".into(), "invalid", "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), "Doan".into(), <&str as Into<_>>::into("invalid"), "1234".into()).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:31:67 [INFO] [stdout] | [INFO] [stdout] 31 | assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234").is_err()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 31 - assert!(User::new("".into(), "Doan".into(), "invalid".into(), "1234".into()).is_err()); [INFO] [stdout] 31 + assert!(User::new("".into(), "Doan".into(), "invalid".into(), <&str as Into<_>>::into("1234")).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | "Joan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 67 - "Joan".into(), [INFO] [stdout] 67 + "Joan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 67 - "Joan".into(), [INFO] [stdout] 67 + <&str as Into<_>>::into("Joan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | "Doan".into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 68 - "Doan".into(), [INFO] [stdout] 68 + "Doan", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 68 - "Doan".into(), [INFO] [stdout] 68 + <&str as Into<_>>::into("Doan"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | "j@d.c".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 69 - "j@d.c".into(), [INFO] [stdout] 69 + "j@d.c", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 69 - "j@d.c".into(), [INFO] [stdout] 69 + <&str as Into<_>>::into("j@d.c"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `&str` [INFO] [stdout] --> tests/user_logic.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | "12345678".into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 70 - "12345678".into(), [INFO] [stdout] 70 + "12345678", [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 70 - "12345678".into(), [INFO] [stdout] 70 + <&str as Into<_>>::into("12345678"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `my_project` (test "user_logic") due to 24 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: function `send_delete` is never used [INFO] [stdout] --> tests/quick_dev.rs:62:10 [INFO] [stdout] | [INFO] [stdout] 62 | async fn send_delete( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_get` is never used [INFO] [stdout] --> tests/quick_dev.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | async fn send_get(path: &str, client: &Client) -> Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> src/handlers/login_out.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let session_id = match extract_session_id_from_header(&parts.headers) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/handlers/login_out.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_id` [INFO] [stdout] --> src/handlers/login_out.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let session_id = match extract_session_id_from_header(&parts.headers) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/handlers/login_out.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `print_user_count`, and `print_session_count` are never used [INFO] [stdout] --> src/structs/app_state.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 15 | impl AppState { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 16 | pub async fn new(db_url: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub async fn print_user_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub async fn print_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `test_new_unchecked` are never used [INFO] [stdout] --> src/structs/login.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl LoginInfo { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 14 | pub fn new(email: &str, password: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn test_new_unchecked(email: &str, password: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/structs/user.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl User { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `first_name`, `last_name`, and `email` are never used [INFO] [stdout] --> src/structs/user.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 208 | impl UserProfile { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 209 | pub fn new(first_name: &str, last_name: &str, email: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn first_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn last_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn email(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `print_user_count`, and `print_session_count` are never used [INFO] [stdout] --> src/structs/app_state.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 15 | impl AppState { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 16 | pub async fn new(db_url: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub async fn print_user_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub async fn print_session_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `test_new_unchecked` are never used [INFO] [stdout] --> src/structs/login.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl LoginInfo { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 14 | pub fn new(email: &str, password: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn test_new_unchecked(email: &str, password: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/structs/user.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl User { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `first_name`, `last_name`, and `email` are never used [INFO] [stdout] --> src/structs/user.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 208 | impl UserProfile { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 209 | pub fn new(first_name: &str, last_name: &str, email: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn first_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn last_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn email(&self) -> &str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/structs/app_state.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | user.get_base_mut().copy_operator(&updated_user); [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] 104 | let _ = user.get_base_mut().copy_operator(&updated_user); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/structs/app_state.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | user.get_base_mut().copy_operator(&updated_user); [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] 104 | let _ = user.get_base_mut().copy_operator(&updated_user); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused dependency `anyhow` [INFO] [stderr] --> Cargo.toml:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | anyhow = "1.0" [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `anyhow` [INFO] [stderr] help: to still use for development builds, move to `dev-dependencies` [INFO] [stderr] warning: `my_project` (manifest) generated 1 warning [INFO] running `Command { std: "docker" "inspect" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba", kill_on_drop: false }` [INFO] [stdout] 92b0bc7987334898ea4ebcfab4dba0a45b21f54304306c2ca26e6a2ef85891ba