[INFO] cloning repository https://github.com/j5ik2o/from-oop-to-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/j5ik2o/from-oop-to-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fj5ik2o%2Ffrom-oop-to-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fj5ik2o%2Ffrom-oop-to-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 98915ac1b200544554a31026d1167294ee06870e
[INFO] checking j5ik2o/from-oop-to-rust against try#d12484522bcab8d07e325c6570f226a2faace3f7 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fj5ik2o%2Ffrom-oop-to-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/j5ik2o/from-oop-to-rust on toolchain d12484522bcab8d07e325c6570f226a2faace3f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/j5ik2o/from-oop-to-rust
[INFO] finished tweaking git repo https://github.com/j5ik2o/from-oop-to-rust
[INFO] tweaked toml for git repo https://github.com/j5ik2o/from-oop-to-rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/j5ik2o/from-oop-to-rust 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" "+d12484522bcab8d07e325c6570f226a2faace3f7" "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 getrandom v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3dd703136ba79e3a5200efc9f5231edc0a4d87046057e0453d41e97552a0762d
[INFO] running `Command { std: "docker" "start" "-a" "3dd703136ba79e3a5200efc9f5231edc0a4d87046057e0453d41e97552a0762d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3dd703136ba79e3a5200efc9f5231edc0a4d87046057e0453d41e97552a0762d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dd703136ba79e3a5200efc9f5231edc0a4d87046057e0453d41e97552a0762d", kill_on_drop: false }`
[INFO] [stdout] 3dd703136ba79e3a5200efc9f5231edc0a4d87046057e0453d41e97552a0762d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+d12484522bcab8d07e325c6570f226a2faace3f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 45b40d0c49f9056246b85834f75fbb5de9cca8e4b9947e0941c5110d195efc29
[INFO] running `Command { std: "docker" "start" "-a" "45b40d0c49f9056246b85834f75fbb5de9cca8e4b9947e0941c5110d195efc29", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling getrandom v0.3.0
[INFO] [stderr]    Compiling zerocopy v0.8.14
[INFO] [stderr]    Compiling anyhow v1.0.96
[INFO] [stderr]     Checking iana-time-zone v0.1.53
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking once_cell v1.20.3
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking timer v0.2.0
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking design-patterns-in-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/observer/enum_base.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |         rng: rand::thread_rng(),
[INFO] [stdout]    |                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/observer/trait_base.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/enum_base.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/enum_base.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/trait_base.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/strategy/trait_base.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |       rng: rand::thread_rng(),
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/observer/enum_base.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |         rng: rand::thread_rng(),
[INFO] [stdout]    |                    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/observer/trait_base.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/enum_base.rs:46:18
[INFO] [stdout]    |
[INFO] [stdout] 46 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/enum_base.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]   --> src/strategy/trait_base.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       rng: rand::thread_rng(),
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/strategy/trait_base.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |       rng: rand::thread_rng(),
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/observer/enum_base.rs:97:24
[INFO] [stdout]    |
[INFO] [stdout] 97 |       g.number = g.rng.gen_range(0..=49);
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/observer/trait_base.rs:62:30
[INFO] [stdout]    |
[INFO] [stdout] 62 |       self.number = self.rng.gen_range(0..=49);
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/observer/enum_base.rs:97:24
[INFO] [stdout]    |
[INFO] [stdout] 97 |       g.number = g.rng.gen_range(0..=49);
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/observer/trait_base.rs:62:30
[INFO] [stdout]    |
[INFO] [stdout] 62 |       self.number = self.rng.gen_range(0..=49);
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/enum_base.rs:69:43
[INFO] [stdout]    |
[INFO] [stdout] 69 |           *prev_hand = Hand::get_hand(rng.gen_range(0..=2));
[INFO] [stdout]    |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/enum_base.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let bet = rng.gen_range(0..=Self::get_sum(history, *current_hand_value));
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/trait_base.rs:44:48
[INFO] [stdout]    |
[INFO] [stdout] 44 |       self.prev_hand = Hand::get_hand(self.rng.gen_range(0..=2))
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/trait_base.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let bet = self.rng.gen_range(0..=self.get_sum(self.current_hand_value));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/enum_base.rs:69:43
[INFO] [stdout]    |
[INFO] [stdout] 69 |           *prev_hand = Hand::get_hand(rng.gen_range(0..=2));
[INFO] [stdout]    |                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/enum_base.rs:79:23
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let bet = rng.gen_range(0..=Self::get_sum(history, *current_hand_value));
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/trait_base.rs:44:48
[INFO] [stdout]    |
[INFO] [stdout] 44 |       self.prev_hand = Hand::get_hand(self.rng.gen_range(0..=2))
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/mediator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/observer/enum_base.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/strategy/trait_base.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let bet = self.rng.gen_range(0..=self.get_sum(self.current_hand_value));
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/enum_base.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `underlying`
[INFO] [stdout]   --> src/bridge/enum_base.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |       Display::Default(underlying) => {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_underlying`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/generic_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/trait_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/mediator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/observer/enum_base.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]    --> src/composite/enum_base.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 |   use std::borrow::BorrowMut;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]    --> src/composite/generic_base.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 |   use std::borrow::BorrowMut;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trouble`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |   fn resolve(&self, trouble: &Trouble) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trouble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/enum_base.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `underlying`
[INFO] [stdout]   --> src/bridge/enum_base.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 |       Display::Default(underlying) => {
[INFO] [stdout]    |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_underlying`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trouble`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |   fn resolve(&self, trouble: &Trouble) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trouble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/generic_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bridge/trait_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..times {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trouble`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |   fn resolve(&self, trouble: &Trouble) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trouble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trouble`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |   fn resolve(&self, trouble: &Trouble) -> bool {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trouble`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/decorator/enum_base.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |       Display::String(value) => 1,
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `usrdir_ref`
[INFO] [stdout]    --> src/composite/generic_base.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 |       let usrdir_ref = (&*usrdir).borrow_mut();
[INFO] [stdout]     |           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_usrdir_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |       NumberGenerator::RandomNumber(g) => g.get_number(),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 21 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 27 |       NumberGenerator::RandomNumber(g) => g.add_observer(observer),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 28 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       NumberGenerator::RandomNumber(g) => g.execute(),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 35 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/decorator/enum_base.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |       Display::String(value) => 1,
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/proxy/enum_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/proxy/trait_base.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |       NumberGenerator::RandomNumber(g) => g.get_number(),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 21 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 27 |       NumberGenerator::RandomNumber(g) => g.add_observer(observer),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 28 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/observer/enum_base.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       NumberGenerator::RandomNumber(g) => g.execute(),
[INFO] [stdout]    |       -------------------------------- matches all the relevant values
[INFO] [stdout] 35 |       _ => panic!(),
[INFO] [stdout]    |       ^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/proxy/enum_base.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/proxy/trait_base.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SupportBehaviorBase` is more private than the item `SupportBehavior`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait SupportBehavior: SupportBehaviorBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `SupportBehavior` is reachable at visibility `pub(chain_of_responsibility)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `SupportBehaviorBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | trait SupportBehaviorBase: std::fmt::Display + Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SupportBase` is more private than the item `chain_of_responsibility::trait_base::Support`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Support: SupportBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `chain_of_responsibility::trait_base::Support` is reachable at visibility `pub(chain_of_responsibility)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `SupportBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | trait SupportBase: std::fmt::Display + Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `composite::generic_base::EntryBase` is more private than the item `composite::generic_base::Entry`
[INFO] [stdout]  --> src/composite/generic_base.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `composite::generic_base::Entry` is reachable at visibility `pub(composite)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `composite::generic_base::EntryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/composite/generic_base.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `composite::trait_base::EntryBase` is more private than the item `composite::trait_base::Entry`
[INFO] [stdout]  --> src/composite/trait_base.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `composite::trait_base::Entry` is reachable at visibility `pub(composite)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `composite::trait_base::EntryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/composite/trait_base.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FactoryBase` is more private than the item `Factory`
[INFO] [stdout]   --> src/factory_method.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Factory: FactoryBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `Factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `FactoryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/factory_method.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | trait FactoryBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operation` is more private than the item `AbstractDisplay`
[INFO] [stdout]  --> src/template_method_old.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait AbstractDisplay: Operation {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `AbstractDisplay` is reachable at visibility `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `Operation` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/template_method_old.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait Operation {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/adaptor.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Banner {
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 8 |   pub fn new(s: &str) -> Self {
[INFO] [stdout]   |          ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Print` is never used
[INFO] [stdout]  --> src/adaptor/enum_base.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Print {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `of_print`, `print_weak`, and `print_strong` are never used
[INFO] [stdout]   --> src/adaptor/enum_base.rs:8:10
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Print {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 8  |   pub fn of_print(banner: Banner) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |   pub fn print_weak(&self) {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn print_strong(&self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `print_weak` and `print_strong` are never used
[INFO] [stdout]  --> src/adaptor/trait_base.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Print {
[INFO] [stdout]   |           ----- methods in this trait
[INFO] [stdout] 4 |   fn print_weak(&self);
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 5 |   fn print_strong(&self);
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/adaptor/trait_base.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl PrintBanner {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 12 |   pub fn new(banner: Banner) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Display` is never used
[INFO] [stdout]  --> src/bridge/enum_base.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Display {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CountDisplay` is never constructed
[INFO] [stdout]  --> src/bridge/enum_base.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CountDisplay(Box<Display>);
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `multi_display` is never used
[INFO] [stdout]  --> src/bridge/enum_base.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl CountDisplay {
[INFO] [stdout]   | ----------------- method in this implementation
[INFO] [stdout] 9 |   pub fn multi_display(&mut self, times: u32) {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/bridge/enum_base.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Display {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 19 |   pub fn of_default(imp: DisplayImpl) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn of_count(imp: DisplayImpl) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn open(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn print(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |   pub fn close(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |   pub fn display(&mut self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn as_count_display_mut(&mut self) -> Option<&mut CountDisplay> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayImpl` is never used
[INFO] [stdout]   --> src/bridge/enum_base.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum DisplayImpl {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `of_string`, `print_line`, `raw_open`, `raw_print`, and `raw_close` are never used
[INFO] [stdout]    --> src/bridge/enum_base.rs:72:10
[INFO] [stdout]     |
[INFO] [stdout] 71  | impl DisplayImpl {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 72  |   pub fn of_string(s: &str) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |   fn print_line(&self) {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |   fn raw_open(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94  |   fn raw_print(&self) {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |   fn raw_close(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bridge/generic_base.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<DI: DisplayImpl> DisplayDefault<DI> {
[INFO] [stdout]    | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 16 |   pub fn new(underlying: DI) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `multi_display` are never used
[INFO] [stdout]   --> src/bridge/generic_base.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl<DI: DisplayImpl> CountDisplay<DI> {
[INFO] [stdout]    | -------------------------------------- associated items in this implementation
[INFO] [stdout] 47 |   pub fn new(underlying: DI) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn multi_display(&mut self, times: u32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bridge/generic_base.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl StringDisplayImpl {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 93 |   pub fn new(string: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bridge/trait_base.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl DisplayDefault {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 16 |   pub fn new(underlying: Box<dyn DisplayImpl>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `multi_display` are never used
[INFO] [stdout]   --> src/bridge/trait_base.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl CountDisplay {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 47 |   pub fn new(underlying: Box<dyn DisplayImpl>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn multi_display(&mut self, times: u32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bridge/trait_base.rs:93:10
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl StringDisplayImpl {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 93 |   pub fn new(string: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_title`, `make_string`, `make_items`, and `close` are never used
[INFO] [stdout]   --> src/builder.rs:8:6
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Builder: Debug {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] 8  |   fn make_title(&mut self, title: &str);
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 9  |   fn make_string(&mut self, str: &str);
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 10 |   fn make_items(&mut self, items: &[&str]);
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 11 |   fn close(&mut self);
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Director` is never constructed
[INFO] [stdout]   --> src/builder.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Director {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Director` 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 items `new` and `build` are never used
[INFO] [stdout]   --> src/builder.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Director {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 20 |   pub fn new(builder: Rc<RefCell<dyn Builder>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn build(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_text_result` are never used
[INFO] [stdout]   --> src/builder.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl TextBuilder {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 42 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn get_text_result(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_html_result` are never used
[INFO] [stdout]   --> src/builder.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl HtmlBuilder {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 85 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |   pub fn get_html_result(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/chain_of_responsibility.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Trouble {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 18 |   pub fn new(number: u32) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `No`, `Limit`, `Odd`, and `Special` are never constructed
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:7:3
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum Support {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 7  |   No(NoSupport),
[INFO] [stdout]    |   ^^
[INFO] [stdout] 8  |   Limit(LimitSupport),
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 9  |   Odd(OddSupport),
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 10 |   Special(SpecialSupport),
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Support` 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 items `of_no`, `of_limit`, `of_odd`, `of_special`, and `support` are never used
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Support {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 14 |   pub fn of_no(name: &str, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn of_limit(name: &str, limit: u32, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn of_odd(name: &str, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub fn of_special(name: &str, number: u32, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn support(&self, trouble: &Trouble) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `done`, `fail`, and `next` are never used
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 40 | trait SupportBehaviorBase: std::fmt::Display + Debug {
[INFO] [stdout]    |       ------------------- methods in this trait
[INFO] [stdout] 41 |   fn done(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   fn fail(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn next(&self) -> Option<Rc<Support>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve` and `support` are never used
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:51:6
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait SupportBehavior: SupportBehaviorBase {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 51 |   fn resolve(&self, trouble: &Trouble) -> bool;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |   fn support(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:69:3
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct NoSupport {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 68 |   name: String,
[INFO] [stdout] 69 |   next: Option<Rc<Support>>,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NoSupport` 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 `new` is never used
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl NoSupport {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 73 |   pub fn new(name: &str, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:103:3
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct LimitSupport {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 102 |   name: String,
[INFO] [stdout] 103 |   next: Option<Rc<Support>>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LimitSupport` 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 `new` is never used
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:108:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl LimitSupport {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 108 |   pub fn new(name: &str, limit: u32, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct OddSupport {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 137 |   name: String,
[INFO] [stdout] 138 |   next: Option<Rc<Support>>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OddSupport` 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 `new` is never used
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:142:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl OddSupport {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 142 |   pub fn new(name: &str, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:171:3
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct SpecialSupport {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 170 |   name: String,
[INFO] [stdout] 171 |   next: Option<Rc<Support>>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecialSupport` 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 `new` is never used
[INFO] [stdout]    --> src/chain_of_responsibility/enum_base.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl SpecialSupport {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 176 |   pub fn new(name: &str, number: u32, next: Option<Rc<Support>>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `done`, `fail`, and `next` are never used
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:7:6
[INFO] [stdout]    |
[INFO] [stdout] 6  | trait SupportBase: std::fmt::Display + Debug {
[INFO] [stdout]    |       ----------- methods in this trait
[INFO] [stdout] 7  |   fn done(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |   fn fail(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |   fn next(&self) -> Option<Rc<dyn Support>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve` and `support` are never used
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Support: SupportBase {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] 17 |   fn resolve(&self, trouble: &Trouble) -> bool;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |   fn support(&self, trouble: &Trouble) {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:37:3
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct NoSupport {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 36 |   name: String,
[INFO] [stdout] 37 |   next: Option<Rc<dyn Support>>,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NoSupport` 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 `new` is never used
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl NoSupport {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 41 |   pub fn new(name: &str, next: Option<Rc<dyn Support>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:73:3
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct LimitSupport {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 72 |   name: String,
[INFO] [stdout] 73 |   next: Option<Rc<dyn Support>>,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LimitSupport` 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 `new` is never used
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl LimitSupport {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 78 |   pub fn new(name: &str, limit: u32, next: Option<Rc<dyn Support>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]    --> src/chain_of_responsibility/trait_base.rs:110:3
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct OddSupport {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 109 |   name: String,
[INFO] [stdout] 110 |   next: Option<Rc<dyn Support>>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OddSupport` 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 `new` is never used
[INFO] [stdout]    --> src/chain_of_responsibility/trait_base.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl OddSupport {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 114 |   pub fn new(name: &str, next: Option<Rc<dyn Support>>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next` is never read
[INFO] [stdout]    --> src/chain_of_responsibility/trait_base.rs:145:3
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct SpecialSupport {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 144 |   name: String,
[INFO] [stdout] 145 |   next: Option<Rc<dyn Support>>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SpecialSupport` 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 `new` is never used
[INFO] [stdout]    --> src/chain_of_responsibility/trait_base.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl SpecialSupport {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 150 |   pub fn new(name: &str, number: u32, next: Option<Rc<dyn Support>>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Command` is never used
[INFO] [stdout]  --> src/command/enum_base.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Command {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MacroCommand` is never constructed
[INFO] [stdout]  --> src/command/enum_base.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MacroCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `append`, `undo`, and `clear` are never used
[INFO] [stdout]   --> src/command/enum_base.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MacroCommand {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 14 |   pub fn append(&mut self, cmd: Command) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `of_echo`, `of_macro`, `of_macro_with_empty_commands`, `as_macro`, `as_macro_mut`, and `execute` are never used
[INFO] [stdout]   --> src/command/enum_base.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Command {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 30 |   pub fn of_echo(s: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn of_macro(commands: VecDeque<Command>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn of_macro_with_empty_commands() -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn as_macro(&self) -> Option<&MacroCommand> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   pub fn as_macro_mut(&mut self) -> Option<&mut MacroCommand> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |   pub fn execute(&self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append`, `undo`, and `clear` are never used
[INFO] [stdout]   --> src/command/generic_base.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<C: Command> MacroCommand<C> {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 22 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   pub fn append(&mut self, cmd: C) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EchoCommand` is never constructed
[INFO] [stdout]   --> src/command/generic_base.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct EchoCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `run` are never used
[INFO] [stdout]   --> src/command/generic_base.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl EchoCommand {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 49 |   pub fn new(msg: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   fn run(&self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleEchoCommand` is never constructed
[INFO] [stdout]   --> src/command/generic_base.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct DoubleEchoCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/command/generic_base.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl DoubleEchoCommand {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 70 |   fn new(msg: &str) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append`, `undo`, and `clear` are never used
[INFO] [stdout]   --> src/command/trait_base.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MacroCommand {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   pub fn append(&mut self, cmd: Box<dyn Command>) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EchoCommand` is never constructed
[INFO] [stdout]   --> src/command/trait_base.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct EchoCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/command/trait_base.rs:49:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl EchoCommand {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 49 |   fn new(msg: &str) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `File` and `Directory` are never constructed
[INFO] [stdout]   --> src/composite/enum_base.rs:19:3
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Entry {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 19 |   File(File),
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 20 |   Directory(Directory),
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Entry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name` and `print_line_with_prefix` are never used
[INFO] [stdout]   --> src/composite/enum_base.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl File {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 39 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   fn print_line_with_prefix(&self, prefix: &str) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `add`, and `print_line_with_prefix` are never used
[INFO] [stdout]   --> src/composite/enum_base.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Directory {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 59 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |   pub fn add(&mut self, entry: Rc<RefCell<Entry>>) {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |   fn print_line_with_prefix(&self, prefix: &str) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/composite/enum_base.rs:81:10
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl Entry {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 81  |   pub fn of_file(name: &str, size: usize) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |   pub fn of_directory(name: &str) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |   fn print_line_with_prefix(&self, prefix: &str) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |   pub fn print_line(&self) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |   pub fn as_file(&self) -> Option<&File> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn as_directory(&self) -> Option<&Directory> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |   pub fn as_directory_mut(&mut self) -> Option<&mut Directory> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_line_with_prefix` is never used
[INFO] [stdout]  --> src/composite/generic_base.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   |       --------- method in this trait
[INFO] [stdout] 6 |   fn print_line_with_prefix(&self, prefix: &str);
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name` and `print_line` are never used
[INFO] [stdout]   --> src/composite/generic_base.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 10 |   fn get_name(&self) -> &str;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 11 |   fn get_size(&self) -> usize;
[INFO] [stdout] 12 |   fn print_line(&self) {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/composite/generic_base.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl File {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 24 |   pub fn new(name: &str, size: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/composite/generic_base.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<E: Entry> Directory<E> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 61 |   pub fn new(name: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |   pub fn add(&mut self, entry: Rc<RefCell<E>>) {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_line_with_prefix` is never used
[INFO] [stdout]  --> src/composite/trait_base.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   |       --------- method in this trait
[INFO] [stdout] 6 |   fn print_line_with_prefix(&self, prefix: &str);
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name` and `print_line` are never used
[INFO] [stdout]   --> src/composite/trait_base.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 10 |   fn get_name(&self) -> &str;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 11 |   fn get_size(&self) -> usize;
[INFO] [stdout] 12 |   fn print_line(&self) {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/composite/trait_base.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl File {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 24 |   pub fn new(name: &str, size: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/composite/trait_base.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Directory {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 61 |   pub fn new(name: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |   pub fn add(&mut self, entry: Rc<RefCell<dyn Entry>>) {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Display` is never used
[INFO] [stdout]  --> src/decorator/enum_base.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Display {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Display` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/decorator/enum_base.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Display {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 11 |   fn make_line(ch: char, count: usize) -> String {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn of_string(value: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn of_side_border(underlying: Rc<Display>, border_char: char) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   pub fn of_full_border(underlying: Rc<Display>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn get_columns(&self) -> usize {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn get_rows(&self) -> u32 {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |   pub fn get_row_text(&self, row: u32) -> String {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn show(&self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show` is never used
[INFO] [stdout]  --> src/decorator/trait_base.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Display: Debug {
[INFO] [stdout]   |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |   fn show(&self) {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/decorator/trait_base.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl StringDisplay {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 21 |   pub fn new(s: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Border` is never used
[INFO] [stdout]   --> src/decorator/trait_base.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Border: Display {}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/decorator/trait_base.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl FullBorder {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 51 |   pub fn new(underlying: Rc<dyn Display>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/decorator/trait_base.rs:91:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl SideBorder {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 91 |   pub fn new(underlying: Rc<dyn Display>, ch: char) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `use` is never used
[INFO] [stdout]  --> src/factory_method.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Product: Display {
[INFO] [stdout]   |           ------- method in this trait
[INFO] [stdout] 5 |   fn r#use(&self);
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FactoryBase` is never used
[INFO] [stdout]  --> src/factory_method.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait FactoryBase {
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Factory` is never used
[INFO] [stdout]   --> src/factory_method.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Factory: FactoryBase {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `owner` are never used
[INFO] [stdout]   --> src/factory_method.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl IdCard {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 27 |   pub fn new(owner: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn owner(&self) -> &str {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IdCardFactory` is never constructed
[INFO] [stdout]   --> src/factory_method.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct IdCardFactory;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IdCardFactory` 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 `new` is never used
[INFO] [stdout]   --> src/factory_method.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl IdCardFactory {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 55 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `char_name` is never read
[INFO] [stdout]   --> src/flyweight.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BigChar {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 13 |   char_name: char,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BigChar` 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 `read_font_data` and `new` are never used
[INFO] [stdout]   --> src/flyweight.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl BigChar {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 26 |   fn read_font_data(char_name: char) -> Result<String> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn new(char_name: char) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BigCharFactory` is never constructed
[INFO] [stdout]   --> src/flyweight.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct BigCharFactory {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BigCharFactory` 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 items `new` and `get_big_char` are never used
[INFO] [stdout]   --> src/flyweight.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl BigCharFactory {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 56 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn get_big_char(&mut self, char_name: char) -> Rc<BigChar> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BIG_CHAR_FACTORY_SINGLETON` is never used
[INFO] [stdout]   --> src/flyweight.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub static BIG_CHAR_FACTORY_SINGLETON: OnceCell<Mutex<BigCharFactory>> = OnceCell::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/flyweight.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl BigString {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 87 |   pub fn new(string: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]  --> src/mediator.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait Colleague {
[INFO] [stdout]   |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |   fn run(&self);
[INFO] [stdout]   |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_colleague` is never used
[INFO] [stdout]   --> src/mediator.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait Mediator {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 13 |   fn add_colleague(&mut self, colleague: Rc<RefCell<dyn Colleague>>);
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mediator.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ConcreteMediator {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 22 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mediator.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl ConcreteColleagueA {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 51 |   pub fn new(mediator: Rc<RefCell<dyn Mediator>>, name: &str) -> ConcreteColleagueA {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mediator.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl ConcreteColleagueB {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 80 |   pub fn new(mediator: Rc<RefCell<dyn Mediator>>, name: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `NumberGenerator` is never used
[INFO] [stdout]  --> src/observer/enum_base.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum NumberGenerator {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `of_random`, `get_number`, `add_observer`, and `execute` are never used
[INFO] [stdout]   --> src/observer/enum_base.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl NumberGenerator {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 14 |   pub fn of_random() -> Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn get_number(&self) -> u32 {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn add_observer(&mut self, observer: Observer) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn execute(&mut self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomNumberNumberGenerator` is never constructed
[INFO] [stdout]   --> src/observer/enum_base.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RandomNumberNumberGenerator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RandomNumberNumberGenerator` 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 `RandomNumberNumberGeneratorInner` is never constructed
[INFO] [stdout]   --> src/observer/enum_base.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct RandomNumberNumberGeneratorInner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_observer`, `delete_observer`, `notify_observers`, `get_number`, and `execute` are never used
[INFO] [stdout]   --> src/observer/enum_base.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl RandomNumberNumberGenerator {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 52 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |   fn add_observer(&mut self, observer: Observer) {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |   fn delete_observer(&mut self, observer: &Observer) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   fn notify_observers(&self) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |   fn get_number(&self) -> u32 {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |   fn execute(&mut self) {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyObserver` is never used
[INFO] [stdout]    --> src/observer/enum_base.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub trait AnyObserver: Debug {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Observer` is never used
[INFO] [stdout]    --> src/observer/enum_base.rs:109:10
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub enum Observer {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Observer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]    --> src/observer/enum_base.rs:116:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl Observer {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 116 |   pub fn update(&self, generator: &NumberGenerator) {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_observer`, `delete_observer`, and `execute` are never used
[INFO] [stdout]   --> src/observer/trait_base.rs:8:6
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait NumberGenerator {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 8  |   fn add_observer(&mut self, observer: Box<dyn Observer>);
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 9  |   fn delete_observer(&mut self, observer: Box<dyn Observer>);
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |   fn execute(&mut self);
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/observer/trait_base.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl RandomNumberGenerator {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 23 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/observer/trait_base.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl DigitObserver {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 76 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/observer/trait_base.rs:92:10
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl GraphObserver {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 92 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Printer` and `PrinterProxy` are never constructed
[INFO] [stdout]   --> src/proxy/enum_base.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum Printable {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 10 |   Printer(Printer),
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 11 |   PrinterProxy(PrinterProxy),
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `of_printer` and `of_printer_proxy` are never used
[INFO] [stdout]   --> src/proxy/enum_base.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Printable {
[INFO] [stdout]    | -------------- associated functions in this implementation
[INFO] [stdout] 15 |   pub fn of_printer(name: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn of_printer_proxy(name: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/proxy/enum_base.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl PrinterProxy {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 90 |   pub fn new(name: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_printer_name` is never used
[INFO] [stdout]  --> src/proxy/trait_base.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Printable {
[INFO] [stdout]   |           --------- method in this trait
[INFO] [stdout] 4 |   fn set_printer_name(&mut self, name: &str);
[INFO] [stdout] 5 |   fn get_printer_name(&self) -> &str;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/proxy/trait_base.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl PrinterProxy {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 52 |   pub fn new(name: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Singleton` is never constructed
[INFO] [stdout]  --> src/singleton.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Singleton {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Singleton` 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 `name` is never used
[INFO] [stdout]   --> src/singleton.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Singleton {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 10 |   pub fn name(&self) -> &str {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SINGLETON` is never used
[INFO] [stdout]   --> src/singleton.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub static SINGLETON: Lazy<Singleton> = Lazy::new(|| Singleton {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SINGLETON_MUT` is never used
[INFO] [stdout]   --> src/singleton.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub static SINGLETON_MUT: Lazy<Mutex<Singleton>> = Lazy::new(|| {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Context` is never used
[INFO] [stdout]  --> src/state/enum_base.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Context {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Day` and `Night` are never constructed
[INFO] [stdout]   --> src/state/enum_base.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum State {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 11 |   Day,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 12 |   Night,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `State` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `do_clock`, `do_use`, `do_alarm`, `do_phone`, and `opposite` are never used
[INFO] [stdout]   --> src/state/enum_base.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl State {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 25 |   pub fn do_clock(self, context: &mut impl Context, hour: u32) -> State {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn do_use(self, context: &impl Context) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn do_alarm(self, context: &impl Context) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn do_phone(self, context: &impl Context) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |   fn opposite(self) -> Self {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateContext` is never constructed
[INFO] [stdout]   --> src/state/enum_base.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | struct StateContext {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `run` are never used
[INFO] [stdout]   --> src/state/enum_base.rs:74:6
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl StateContext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 74 |   fn new(state: State) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |   fn run(&mut self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Context` is never used
[INFO] [stdout]  --> src/state/trait_base.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Context {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `State` is never used
[INFO] [stdout]   --> src/state/trait_base.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait State: Display {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Day` is never constructed
[INFO] [stdout]   --> src/state/trait_base.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Day;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Night` is never constructed
[INFO] [stdout]   --> src/state/trait_base.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | struct Night;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DAY` is never used
[INFO] [stdout]   --> src/state/trait_base.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | static DAY: Day = Day;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NIGHT` is never used
[INFO] [stdout]   --> src/state/trait_base.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | static NIGHT: Night = Night;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateContext` is never constructed
[INFO] [stdout]   --> src/state/trait_base.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct StateContext {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `run` are never used
[INFO] [stdout]   --> src/state/trait_base.rs:81:6
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl StateContext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 81 |   fn new(state: &'static dyn State) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |   fn run(&mut self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GUU`, `CHO`, and `PAA` are never constructed
[INFO] [stdout]   --> src/strategy.rs:8:3
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum Hand {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] 8  |   GUU,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 9  |   CHO,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 10 |   PAA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Hand` 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 `get_hand`, `hand_value`, `fight`, `is_stronger_than`, and `is_weaker_than` are never used
[INFO] [stdout]   --> src/strategy.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Hand {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn get_hand(value: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   fn hand_value(&self) -> i32 {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   fn fight(&self, h: Hand) -> i32 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn is_stronger_than(&self, h: Hand) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn is_weaker_than(&self, h: Hand) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rock`, `Paper`, and `Scissors` are never constructed
[INFO] [stdout]  --> src/strategy/enum_base.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Hand {
[INFO] [stdout]   |          ---- variants in this enum
[INFO] [stdout] 6 |   Rock,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 7 |   Paper,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 8 |   Scissors,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Hand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_hand` and `is_stronger_than` are never used
[INFO] [stdout]   --> src/strategy/enum_base.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Hand {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 12 |   fn get_hand(value: u8) -> Self {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |   fn is_stronger_than(&self, other: Hand) -> bool {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Winning` and `Probe` are never constructed
[INFO] [stdout]   --> src/strategy/enum_base.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Strategy {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 30 |   Winning {
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   Probe {
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Strategy` 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 items `of_winning`, `of_probe`, `get_sum`, `next_hand`, and `study` are never used
[INFO] [stdout]   --> src/strategy/enum_base.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl Strategy {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 44 |   pub fn of_winning() -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub fn of_probe() -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |   fn get_sum(history: &[[u32; 3]; 3], hand_value: u8) -> u32 {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn next_hand(&mut self) -> Hand {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |   pub fn study(&mut self, win: bool) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `strategy` is never read
[INFO] [stdout]    --> src/strategy/enum_base.rs:117:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct Player {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 116 |   name: String,
[INFO] [stdout] 117 |   strategy: Strategy,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Player` 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 items `new`, `next_hand`, `win`, `lose`, and `even` are never used
[INFO] [stdout]    --> src/strategy/enum_base.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Player {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 134 |   pub fn new(name: &str, strategy: Strategy) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |   pub fn next_hand(&mut self) -> Hand {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |   pub fn win(&mut self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |   pub fn lose(&mut self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |   pub fn even(&mut self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_stronger_than` is never used
[INFO] [stdout]   --> src/strategy/trait_base.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Hand {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |   fn is_stronger_than(&self, other: Hand) -> bool {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_hand` and `study` are never used
[INFO] [stdout]   --> src/strategy/trait_base.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait Strategy {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] 30 |   fn next_hand(&mut self) -> Hand;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 31 |   fn study(&mut self, win: bool);
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/strategy/trait_base.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl WinningStrategy {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 55 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/strategy/trait_base.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 99  | impl ProbeStrategy {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |   pub fn new() -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `strategy` is never read
[INFO] [stdout]    --> src/strategy/trait_base.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct Player {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 115 |   name: String,
[INFO] [stdout] 116 |   strategy: Box<dyn Strategy>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_hand`, `win`, `lose`, and `even` are never used
[INFO] [stdout]    --> src/strategy/trait_base.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl Player {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 133 |   pub fn new(name: &str, strategy: Box<dyn Strategy>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |   pub fn next_hand(&mut self) -> Hand {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |   pub fn win(&mut self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn lose(&mut self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub fn even(&mut self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DisplayType` is never used
[INFO] [stdout]  --> src/template_method_new.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum DisplayType {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display`, `print_line`, `open`, `print`, and `close` are never used
[INFO] [stdout]   --> src/template_method_new.rs:7:10
[INFO] [stdout]    |
[INFO] [stdout] 6  | impl DisplayType {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 7  |   pub fn display(&self) {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn print_line(&self) {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |   fn open(&self) {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |   fn print(&self) {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |   fn close(&self) {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operation` is never used
[INFO] [stdout]  --> src/template_method_old.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait Operation {
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AbstractDisplay` is never used
[INFO] [stdout]  --> src/template_method_old.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait AbstractDisplay: Operation {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharDisplay` is never constructed
[INFO] [stdout]   --> src/template_method_old.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct CharDisplay(char);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CharDisplay` 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 `new` is never used
[INFO] [stdout]   --> src/template_method_old.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CharDisplay {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 21 |   pub fn new(c: char) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StringDisplay` is never constructed
[INFO] [stdout]   --> src/template_method_old.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct StringDisplay(String, usize);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StringDisplay` 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 items `new` and `print_line` are never used
[INFO] [stdout]   --> src/template_method_old.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl StringDisplay {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 46 |   pub fn new(s: String) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   fn print_line(&self) {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Visitor` is never used
[INFO] [stdout]  --> src/visitor/enum_base.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Visitor {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_result`, `of_html_exporter`, `of_plain_text_exporter`, `visit_title`, `visit_text`, and `visit_hyperlink` are never used
[INFO] [stdout]   --> src/visitor/enum_base.rs:7:10
[INFO] [stdout]    |
[INFO] [stdout] 6  | impl Visitor {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 7  |   pub fn get_result(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |   pub fn of_html_exporter() -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn of_plain_text_exporter() -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn visit_title(&mut self, title: &Title) {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |   pub fn visit_text(&mut self, text: &Text) {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn visit_hyperlink(&mut self, hyperlink: &HyperLink) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Element` is never used
[INFO] [stdout]   --> src/visitor/enum_base.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum Element {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Element` 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 items `of_title`, `of_text`, `of_hyper_link`, and `accept` are never used
[INFO] [stdout]   --> src/visitor/enum_base.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Element {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 56 |   pub fn of_title(s: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn of_text(s: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn of_hyper_link(text: &str, url: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |   pub fn accept(&self, visitor: &mut Visitor) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Title` is never constructed
[INFO] [stdout]   --> src/visitor/enum_base.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Title {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Title` 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 items `new` and `accept` are never used
[INFO] [stdout]   --> src/visitor/enum_base.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Title {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 83 |   pub fn new(text: &str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn accept(&self, visitor: &mut Visitor) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Text` is never constructed
[INFO] [stdout]   --> src/visitor/enum_base.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct Text {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Text` 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 items `new` and `accept` are never used
[INFO] [stdout]    --> src/visitor/enum_base.rs:98:10
[INFO] [stdout]     |
[INFO] [stdout] 97  | impl Text {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 98  |   pub fn new(text: &str) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |   pub fn accept(&self, visitor: &mut Visitor) {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HyperLink` is never constructed
[INFO] [stdout]    --> src/visitor/enum_base.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct HyperLink {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HyperLink` 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 items `new` and `accept` are never used
[INFO] [stdout]    --> src/visitor/enum_base.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HyperLink {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 114 |   pub fn new(text: &str, url: &str) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn accept(&self, visitor: &mut Visitor) {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]    --> src/visitor/enum_base.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct Document {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Document` 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 items `new` and `accept` are never used
[INFO] [stdout]    --> src/visitor/enum_base.rs:132:10
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl Document {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 132 |   pub fn new(parts: impl IntoIterator<Item = Element>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |   pub fn accept(&self, visitor: &mut Visitor) {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `accept` is never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Element: Debug {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] 10 |   fn accept(&self, visitor: &mut dyn Visitor);
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a> Title<'a> {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 19 |   pub fn new(text: &'a str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> Text<'a> {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 36 |   pub fn new(text: &'a str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl<'a> HyperLink<'a> {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 54 |   pub fn new(text: &'a str, url: &'a str) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]   --> src/visitor/trait_base.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct Document<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Document` 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 items `new` and `accept` are never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl<'a> Document<'a> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 71 |   pub fn new(parts: impl IntoIterator<Item = Box<dyn Element + 'a>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |   pub fn accept(&self, visitor: &mut dyn Visitor) {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_html` are never used
[INFO] [stdout]   --> src/visitor/trait_base.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl HtmlExporterVisitor {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 90 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |   pub fn get_html(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_text` are never used
[INFO] [stdout]    --> src/visitor/trait_base.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl PlainTextExporterVisitor {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 121 |   pub fn new() -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |   pub fn get_text(&self) -> &str {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SupportBehaviorBase` is more private than the item `chain_of_responsibility::enum_base::SupportBehavior`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait SupportBehavior: SupportBehaviorBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `chain_of_responsibility::enum_base::SupportBehavior` is reachable at visibility `pub(chain_of_responsibility)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `SupportBehaviorBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/chain_of_responsibility/enum_base.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | trait SupportBehaviorBase: std::fmt::Display + Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SupportBase` is more private than the item `chain_of_responsibility::trait_base::Support`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Support: SupportBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `chain_of_responsibility::trait_base::Support` is reachable at visibility `pub(chain_of_responsibility)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `SupportBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/chain_of_responsibility/trait_base.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | trait SupportBase: std::fmt::Display + Debug {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `composite::generic_base::EntryBase` is more private than the item `composite::generic_base::Entry`
[INFO] [stdout]  --> src/composite/generic_base.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `composite::generic_base::Entry` is reachable at visibility `pub(composite)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `composite::generic_base::EntryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/composite/generic_base.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `composite::trait_base::EntryBase` is more private than the item `composite::trait_base::Entry`
[INFO] [stdout]  --> src/composite/trait_base.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `composite::trait_base::Entry` is reachable at visibility `pub(composite)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `composite::trait_base::EntryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/composite/trait_base.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | trait EntryBase {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FactoryBase` is more private than the item `factory_method::Factory`
[INFO] [stdout]   --> src/factory_method.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Factory: FactoryBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `factory_method::Factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but trait `FactoryBase` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/factory_method.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | trait FactoryBase {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operation` is more private than the item `template_method_old::AbstractDisplay`
[INFO] [stdout]  --> src/template_method_old.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait AbstractDisplay: Operation {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `template_method_old::AbstractDisplay` is reachable at visibility `pub(crate)`
[INFO] [stdout]   |
[INFO] [stdout] note: but trait `Operation` is only usable at visibility `pub(self)`
[INFO] [stdout]  --> src/template_method_old.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait Operation {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_html_result` are never used
[INFO] [stdout]   --> src/builder.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl HtmlBuilder {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 85 |   pub fn new() -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |   pub fn get_html_result(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Double` is never constructed
[INFO] [stdout]  --> src/command/enum_base.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Command {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] 4 |   Echo(String),
[INFO] [stdout] 5 |   Double(String),
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `undo` and `clear` are never used
[INFO] [stdout]   --> src/command/enum_base.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MacroCommand {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `of_macro` and `as_macro` are never used
[INFO] [stdout]   --> src/command/enum_base.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Command {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn of_macro(commands: VecDeque<Command>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn as_macro(&self) -> Option<&MacroCommand> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `undo` and `clear` are never used
[INFO] [stdout]   --> src/command/generic_base.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<C: Command> MacroCommand<C> {
[INFO] [stdout]    | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleEchoCommand` is never constructed
[INFO] [stdout]   --> src/command/generic_base.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct DoubleEchoCommand {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/command/generic_base.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl DoubleEchoCommand {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 70 |   fn new(msg: &str) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `undo` and `clear` are never used
[INFO] [stdout]   --> src/command/trait_base.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MacroCommand {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |   pub fn undo(&mut self) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |   pub fn clear(&mut self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/composite/enum_base.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl File {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 39 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/composite/enum_base.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Directory {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 59 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_name`, `as_file`, and `as_directory` are never used
[INFO] [stdout]    --> src/composite/enum_base.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl Entry {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |   pub fn get_name(&self) -> &str {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |   pub fn as_file(&self) -> Option<&File> {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn as_directory(&self) -> Option<&Directory> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/composite/generic_base.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 10 |   fn get_name(&self) -> &str;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/composite/trait_base.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait Entry: EntryBase + Display + Debug {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 10 |   fn get_name(&self) -> &str;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Border` is never used
[INFO] [stdout]   --> src/decorator/trait_base.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub trait Border: Display {}
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `owner` is never used
[INFO] [stdout]   --> src/factory_method.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl IdCard {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |   pub fn owner(&self) -> &str {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `char_name` is never read
[INFO] [stdout]   --> src/flyweight.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BigChar {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 13 |   char_name: char,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BigChar` 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 `delete_observer` is never used
[INFO] [stdout]   --> src/observer/enum_base.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl RandomNumberNumberGenerator {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |   fn delete_observer(&mut self, observer: &Observer) {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Any` is never constructed
[INFO] [stdout]    --> src/observer/enum_base.rs:112:3
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub enum Observer {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 112 |   Any(Rc<dyn AnyObserver>),
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Observer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_observer` is never used
[INFO] [stdout]  --> src/observer/trait_base.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait NumberGenerator {
[INFO] [stdout]   |           --------------- method in this trait
[INFO] [stdout] 8 |   fn add_observer(&mut self, observer: Box<dyn Observer>);
[INFO] [stdout] 9 |   fn delete_observer(&mut self, observer: Box<dyn Observer>);
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Printer` is never constructed
[INFO] [stdout]   --> src/proxy/enum_base.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub enum Printable {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 10 |   Printer(Printer),
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of_printer` is never used
[INFO] [stdout]   --> src/proxy/enum_base.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Printable {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 15 |   pub fn of_printer(name: &str) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GUU`, `CHO`, and `PAA` are never constructed
[INFO] [stdout]   --> src/strategy.rs:8:3
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub enum Hand {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout] 8  |   GUU,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 9  |   CHO,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 10 |   PAA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Hand` 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 `get_hand`, `hand_value`, `fight`, `is_stronger_than`, and `is_weaker_than` are never used
[INFO] [stdout]   --> src/strategy.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Hand {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn get_hand(value: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |   fn hand_value(&self) -> i32 {
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   fn fight(&self, h: Hand) -> i32 {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |   pub fn is_stronger_than(&self, h: Hand) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |   pub fn is_weaker_than(&self, h: Hand) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.45s
[INFO] running `Command { std: "docker" "inspect" "45b40d0c49f9056246b85834f75fbb5de9cca8e4b9947e0941c5110d195efc29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "45b40d0c49f9056246b85834f75fbb5de9cca8e4b9947e0941c5110d195efc29", kill_on_drop: false }`
[INFO] [stdout] 45b40d0c49f9056246b85834f75fbb5de9cca8e4b9947e0941c5110d195efc29
