[INFO] cloning repository https://github.com/pochon-tech-pro/rust-practice
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pochon-tech-pro/rust-practice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpochon-tech-pro%2Frust-practice", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpochon-tech-pro%2Frust-practice'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] caba512f805eb0be03614e396e5e9234a36a10fb
[INFO] checking pochon-tech-pro/rust-practice against try#bf5ff6675cf10ce009ac02007b064a7cfc4509ac for pr-140558
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpochon-tech-pro%2Frust-practice" "/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/pochon-tech-pro/rust-practice on toolchain bf5ff6675cf10ce009ac02007b064a7cfc4509ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/pochon-tech-pro/rust-practice
[INFO] finished tweaking git repo https://github.com/pochon-tech-pro/rust-practice
[INFO] tweaked toml for git repo https://github.com/pochon-tech-pro/rust-practice written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/pochon-tech-pro/rust-practice 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" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b3681862c452976b8add861950fe2cc6cc66bbe9f77071c7e29ea4369bae89c7
[INFO] running `Command { std: "docker" "start" "-a" "b3681862c452976b8add861950fe2cc6cc66bbe9f77071c7e29ea4369bae89c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3681862c452976b8add861950fe2cc6cc66bbe9f77071c7e29ea4369bae89c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3681862c452976b8add861950fe2cc6cc66bbe9f77071c7e29ea4369bae89c7", kill_on_drop: false }`
[INFO] [stdout] b3681862c452976b8add861950fe2cc6cc66bbe9f77071c7e29ea4369bae89c7
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+bf5ff6675cf10ce009ac02007b064a7cfc4509ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a5e55445451fe5f040c68a81f7c8191aa57693fb3b6ea54f550bef1fdd313ba6
[INFO] running `Command { std: "docker" "start" "-a" "a5e55445451fe5f040c68a81f7c8191aa57693fb3b6ea54f550bef1fdd313ba6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling serde v1.0.134
[INFO] [stderr]    Compiling anyhow v1.0.53
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking rust_decimal v1.20.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling derive-getters v0.1.1
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking rust-sample v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/practice/sample.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Customer`
[INFO] [stdout]  --> src/practice/sample.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::practice::customer::{Customer, CustomerCollection};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/practice/value_object2.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Money::new((self.amount + other.amount), self.currency)
[INFO] [stdout]    |                    ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -         Money::new((self.amount + other.amount), self.currency)
[INFO] [stdout] 57 +         Money::new(self.amount + other.amount, self.currency)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::practice::value_object2::Name`
[INFO] [stdout]    --> src/practice/entity.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     use crate::practice::value_object2::Name;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/practice/domain_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/practice/sample.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Customer`
[INFO] [stdout]  --> src/practice/sample.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::practice::customer::{Customer, CustomerCollection};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/practice/value_object2.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Money::new((self.amount + other.amount), self.currency)
[INFO] [stdout]    |                    ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -         Money::new((self.amount + other.amount), self.currency)
[INFO] [stdout] 57 +         Money::new(self.amount + other.amount, self.currency)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/practice/domain_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/practice/errors.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let f = File::open(filename).context(format!("failed open {}", { filename }))?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/practice/errors.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let f = File::open(filename).context(format!("failed open {}", { filename }))?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `UserOtherIdentity` is more private than the item `UserDomainService::exists`
[INFO] [stdout]    --> src/practice/entity.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn exists(&self, _user: UserOtherIdentity) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `UserDomainService::exists` is reachable at visibility `pub(practice)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `UserOtherIdentity` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/practice/entity.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout] 98  | struct UserOtherIdentity {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `first_name`, and `last_name` are never used
[INFO] [stdout]   --> src/practice/value_object.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl FullName {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(first_name: &str, last_name: &str) -> FullName {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn first_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn last_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `name`, and `age` are never used
[INFO] [stdout]   --> src/practice/value_object.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Boy {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(name: &str, age: Option<u16>) -> Boy {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn name(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn age(&self) -> Option<u16> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/practice/value_object2.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl FullName {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(first_name: Name, last_name: Name) -> FullName {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JPY` is never used
[INFO] [stdout]   --> src/practice/value_object2.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 | enum JPY {}
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `USD` is never used
[INFO] [stdout]   --> src/practice/value_object2.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 | enum USD {}
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyError` is never used
[INFO] [stdout]  --> src/practice/errors.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum MyError {
[INFO] [stdout]   |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `basic_error` is never used
[INFO] [stdout]   --> src/practice/errors.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn basic_error() -> Result<(), MyError> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multi_error` is never used
[INFO] [stdout]   --> src/practice/errors.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn multi_error() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyErrorAnyHow` is never used
[INFO] [stdout]   --> src/practice/errors.rs:50:6
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum MyErrorAnyHow {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_how_error` is never used
[INFO] [stdout]   --> src/practice/errors.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn any_how_error() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Error5` and `Error6` are never constructed
[INFO] [stdout]   --> src/practice/errors.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | enum MyErrorAnyHowAndThisError {
[INFO] [stdout]    |      ------------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Error5(u64),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 81 |     #[error("Error6: {0}")]
[INFO] [stdout] 82 |     Error6(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MyErrorAnyHowAndThisError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_how_and_this_error` is never used
[INFO] [stdout]   --> src/practice/errors.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn any_how_and_this_error() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TypeError` and `InternalServerError` are never constructed
[INFO] [stdout]  --> src/practice/entity.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum EntityError {
[INFO] [stdout]   |          ----------- variants in this enum
[INFO] [stdout] 6 |     #[error("TypeError: {0}")]
[INFO] [stdout] 7 |     TypeError(String),
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 8 |     #[error("InternalServerError: {0}")]
[INFO] [stdout] 9 |     InternalServerError(String),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `EntityError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `type_error` and `internal_server_error` are never used
[INFO] [stdout]   --> src/practice/entity.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl EntityError {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 13 |     pub fn type_error(s: &str) -> EntityError {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn internal_server_error(s: &str) -> EntityError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `User` is never constructed
[INFO] [stdout]   --> src/practice/entity.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct User {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `User` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `change_name` are never used
[INFO] [stdout]   --> src/practice/entity.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl User {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 31 |     pub fn new(name: &str) -> Result<Self, EntityError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn change_name(&mut self, name: &str) -> Result<(), EntityError> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/practice/entity.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl UserName {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 57 |     pub fn new(str: &str) -> Result<Self, EntityError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserOther` is never constructed
[INFO] [stdout]   --> src/practice/entity.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct UserOther {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserOther` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `change_name`, and `name` are never used
[INFO] [stdout]   --> src/practice/entity.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl UserOther {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 71 |     pub fn new(name: UserName) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn change_name(&mut self, name: UserName) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn name(&self) -> UserName {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/practice/entity.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl UserId {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 92 |     pub fn new(str: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserOtherIdentity` is never constructed
[INFO] [stdout]   --> src/practice/entity.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | struct UserOtherIdentity {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `change_name` are never used
[INFO] [stdout]    --> src/practice/entity.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl UserOtherIdentity {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 104 |     pub fn new(id: UserId, name: UserName) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn change_name(&mut self, name: UserName) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserDomainService` is never constructed
[INFO] [stdout]    --> src/practice/entity.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct UserDomainService {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UserDomainService` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exists` is never used
[INFO] [stdout]    --> src/practice/entity.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl UserDomainService {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 123 |     pub fn exists(&self, _user: UserOtherIdentity) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `withdraw` and `deposit` are never used
[INFO] [stdout]   --> src/practice/domain_service.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Accounts {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 27 |     pub fn withdraw(&mut self, amount: u16) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn deposit(&mut self, amount: u16) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IAccountsRepository` is never used
[INFO] [stdout]   --> src/practice/domain_service.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | trait IAccountsRepository {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InMemoryAccountsRepository` is never constructed
[INFO] [stdout]   --> src/practice/domain_service.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct InMemoryAccountsRepository {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InMemoryAccountsRepository` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountsService` is never constructed
[INFO] [stdout]   --> src/practice/domain_service.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct AccountsService {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transfer` is never used
[INFO] [stdout]   --> src/practice/domain_service.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl AccountsService {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 76 |     // ある口座が別の口座へお金を移す業務は口座Eに持たせるのは不自然なため用意
[INFO] [stdout] 77 |     pub fn transfer(&self, mut from: Accounts, mut to: Accounts, amount: u16) -> (Accounts, Accounts) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `id` are never used
[INFO] [stdout]   --> src/domain/order.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Order {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(id: OrderId) -> Order {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn id(&self) -> OrderId {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usd`
[INFO] [stdout]    --> src/practice/value_object2.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |         let usd = MoneyOther::<USD>::new(Decimal::new(500, 0));
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_usd`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/practice/errors.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let f = File::open(filename).context(format!("failed open {}", { filename }))?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/practice/errors.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let f = File::open(filename).context(format!("failed open {}", { filename }))?;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_domain_service`
[INFO] [stdout]    --> src/practice/entity.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let user_domain_service = UserDomainService::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_domain_service`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/practice/entity.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let user = UserOtherIdentity::new(UserId::new("1000"), UserName::new("山田太郎").unwrap());
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `updated_b`
[INFO] [stdout]    --> src/practice/domain_service.rs:113:25
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let (updated_a, updated_b) = account_service.transfer(before_a.clone(), before_b.clone(), 500);
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updated_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `entity::UserOtherIdentity` is more private than the item `entity::UserDomainService::exists`
[INFO] [stdout]    --> src/practice/entity.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn exists(&self, _user: UserOtherIdentity) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `entity::UserDomainService::exists` is reachable at visibility `pub(practice)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `entity::UserOtherIdentity` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/practice/entity.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout] 98  | struct UserOtherIdentity {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `last_name` is never used
[INFO] [stdout]   --> src/practice/value_object.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl FullName {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn last_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/practice/value_object.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Boy {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn name(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error3` is never constructed
[INFO] [stdout]   --> src/practice/errors.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | enum MyErrorAnyHow {
[INFO] [stdout]    |      ------------- variant in this enum
[INFO] [stdout] 51 |     Error3(u64),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MyErrorAnyHow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error5` is never constructed
[INFO] [stdout]   --> src/practice/errors.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | enum MyErrorAnyHowAndThisError {
[INFO] [stdout]    |      ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Error5(u64),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MyErrorAnyHowAndThisError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InternalServerError` is never constructed
[INFO] [stdout]  --> src/practice/entity.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum EntityError {
[INFO] [stdout]   |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     InternalServerError(String),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `EntityError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `internal_server_error` is never used
[INFO] [stdout]   --> src/practice/entity.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl EntityError {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn internal_server_error(s: &str) -> EntityError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/practice/entity.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct UserOther {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 67 |     name: UserName,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserOther` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `change_name` and `name` are never used
[INFO] [stdout]   --> src/practice/entity.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl UserOther {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn change_name(&mut self, name: UserName) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn name(&self) -> UserName {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exists` is never used
[INFO] [stdout]    --> src/practice/entity.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl UserDomainService {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 123 |     pub fn exists(&self, _user: UserOtherIdentity) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]   --> src/domain/order.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Order {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn id(&self) -> OrderId {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/practice/domain_service.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         repo.save(accounts.clone());
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let _ = repo.save(accounts.clone());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.64s
[INFO] running `Command { std: "docker" "inspect" "a5e55445451fe5f040c68a81f7c8191aa57693fb3b6ea54f550bef1fdd313ba6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5e55445451fe5f040c68a81f7c8191aa57693fb3b6ea54f550bef1fdd313ba6", kill_on_drop: false }`
[INFO] [stdout] a5e55445451fe5f040c68a81f7c8191aa57693fb3b6ea54f550bef1fdd313ba6
