[INFO] cloning repository https://github.com/Lashi0812/DesignPattern [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lashi0812/DesignPattern" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLashi0812%2FDesignPattern", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLashi0812%2FDesignPattern'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 780c7b3195543a9fed7af7bb016e1d873b52b29b [INFO] checking Lashi0812/DesignPattern against try#51b1964e35e5e26f8cd938940f0da6f7b5cc54fc for pr-138176 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLashi0812%2FDesignPattern" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lashi0812/DesignPattern on toolchain 51b1964e35e5e26f8cd938940f0da6f7b5cc54fc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lashi0812/DesignPattern [INFO] finished tweaking git repo https://github.com/Lashi0812/DesignPattern [INFO] tweaked toml for git repo https://github.com/Lashi0812/DesignPattern written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Lashi0812/DesignPattern 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" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking Lashi0812/DesignPattern against try#51b1964e35e5e26f8cd938940f0da6f7b5cc54fc for pr-138176 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLashi0812%2FDesignPattern" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lashi0812/DesignPattern on toolchain 51b1964e35e5e26f8cd938940f0da6f7b5cc54fc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lashi0812/DesignPattern [INFO] finished tweaking git repo https://github.com/Lashi0812/DesignPattern [INFO] tweaked toml for git repo https://github.com/Lashi0812/DesignPattern written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Lashi0812/DesignPattern 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" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cc v1.1.33 [INFO] [stderr] Downloaded syn v2.0.86 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 66b1d7d428628040b5212b90d5ec6a53e1183c7d174f34ad88837bdb3f1c61c6 [INFO] running `Command { std: "docker" "start" "-a" "66b1d7d428628040b5212b90d5ec6a53e1183c7d174f34ad88837bdb3f1c61c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "66b1d7d428628040b5212b90d5ec6a53e1183c7d174f34ad88837bdb3f1c61c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66b1d7d428628040b5212b90d5ec6a53e1183c7d174f34ad88837bdb3f1c61c6", kill_on_drop: false }` [INFO] [stdout] 66b1d7d428628040b5212b90d5ec6a53e1183c7d174f34ad88837bdb3f1c61c6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+51b1964e35e5e26f8cd938940f0da6f7b5cc54fc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 07c8ea0a0a2d941171bd05048c8503b6f9c42bd94a83bf79922e1681c10228a4 [INFO] running `Command { std: "docker" "start" "-a" "07c8ea0a0a2d941171bd05048c8503b6f9c42bd94a83bf79922e1681c10228a4", kill_on_drop: false }` [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Compiling libc v0.2.161 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking t04_open_closed_principle v0.1.0 (/opt/rustwide/workdir/t04_open_closed_principle) [INFO] [stderr] Checking t05_liskov_subs_principle v0.1.0 (/opt/rustwide/workdir/t05_liskov_subs_principle) [INFO] [stderr] Checking t02_trait v0.1.0 (/opt/rustwide/workdir/t02_trait) [INFO] [stderr] Checking t00_playground v0.1.0 (/opt/rustwide/workdir/t00_playground) [INFO] [stderr] Checking t01_generics v0.1.0 (/opt/rustwide/workdir/t01_generics) [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> t00_playground/src/main.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let c: Container> = Container::new(None); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> t00_playground/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Container { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 2 | value: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Labrador` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Labrador {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Retriever` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct Retriever {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dachshund` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Dachshund {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Dog { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 21 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl Dog { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 27 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl Dog { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 39 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> t00_playground/src/main.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let c: Container> = Container::new(None); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> t00_playground/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Container { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 2 | value: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Labrador` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Labrador {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Retriever` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct Retriever {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dachshund` is never constructed [INFO] [stdout] --> t01_generics/src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct Dachshund {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl Dog { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 21 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 26 | impl Dog { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 27 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `breed_name` is never used [INFO] [stdout] --> t01_generics/src/main.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl Dog { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 39 | fn breed_name(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking t07_dep_inv_principle v0.1.0 (/opt/rustwide/workdir/t07_dep_inv_principle) [INFO] [stderr] Checking t08_builder_pattern v0.1.0 (/opt/rustwide/workdir/t08_builder_pattern) [INFO] [stderr] Checking t06_interface_segregation_principle v0.1.0 (/opt/rustwide/workdir/t06_interface_segregation_principle) [INFO] [stderr] Checking bcrypt v0.15.1 [INFO] [stdout] warning: unused variable: `order` [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let order = Order::new(BasicEntity::default()); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_order` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auditable_order` [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let auditable_order = Order::new(AuditableEntity::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auditable_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `order_placed_on` is never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Order { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 28 | entity: E, [INFO] [stdout] 29 | order_placed_on: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Order` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_login` is never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct User { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | last_login: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `created_at` and `updated_at` are never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct AuditableEntity { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 100 | id: u64, [INFO] [stdout] 101 | created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 102 | updated_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuditableEntity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order` [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let order = Order::new(BasicEntity::default()); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_order` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auditable_order` [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let auditable_order = Order::new(AuditableEntity::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auditable_order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `order_placed_on` is never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Order { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 28 | entity: E, [INFO] [stdout] 29 | order_placed_on: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Order` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_login` is never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct User { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | last_login: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `created_at` and `updated_at` are never read [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct AuditableEntity { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 100 | id: u64, [INFO] [stdout] 101 | created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 102 | updated_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuditableEntity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BasicOrder` is never used [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | type BasicOrder = Order; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AuditableOrder` is never used [INFO] [stdout] --> t06_interface_segregation_principle/src/main.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | type AuditableOrder = Order; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking t03_single_resp_principle v0.1.0 (/opt/rustwide/workdir/t03_single_resp_principle) [INFO] [stdout] warning: method `hash_password` is never used [INFO] [stdout] --> t03_single_resp_principle/src/password.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl PasswordHasher { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 6 | /// Hashes a password using bcrypt. [INFO] [stdout] 7 | pub fn hash_password(&self, password: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `save_user` is never used [INFO] [stdout] --> t03_single_resp_principle/src/user_repository.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 3 | impl UserRepository { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 4 | /// Saves a user to the database. [INFO] [stdout] 5 | pub fn save_user(&self, username: &str, hashed_password: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `hash_password` is never used [INFO] [stdout] --> t03_single_resp_principle/src/password.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl PasswordHasher { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 6 | /// Hashes a password using bcrypt. [INFO] [stdout] 7 | pub fn hash_password(&self, password: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `save_user` is never used [INFO] [stdout] --> t03_single_resp_principle/src/user_repository.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 3 | impl UserRepository { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 4 | /// Saves a user to the database. [INFO] [stdout] 5 | pub fn save_user(&self, username: &str, hashed_password: &str) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.17s [INFO] running `Command { std: "docker" "inspect" "07c8ea0a0a2d941171bd05048c8503b6f9c42bd94a83bf79922e1681c10228a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07c8ea0a0a2d941171bd05048c8503b6f9c42bd94a83bf79922e1681c10228a4", kill_on_drop: false }` [INFO] [stdout] 07c8ea0a0a2d941171bd05048c8503b6f9c42bd94a83bf79922e1681c10228a4