[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] 806cd235226795d9d3c4d14313886b99842afcc6 [INFO] building j5ik2o/from-oop-to-rust against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fj5ik2o%2Ffrom-oop-to-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/j5ik2o/from-oop-to-rust on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-tc1/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-1-tc1/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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 68b6dc63d77f99663cba691aaeb560c9d4053c8c382ef3cc36e50446ddf8aa23 [INFO] running `Command { std: "docker" "start" "-a" "68b6dc63d77f99663cba691aaeb560c9d4053c8c382ef3cc36e50446ddf8aa23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "68b6dc63d77f99663cba691aaeb560c9d4053c8c382ef3cc36e50446ddf8aa23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68b6dc63d77f99663cba691aaeb560c9d4053c8c382ef3cc36e50446ddf8aa23", kill_on_drop: false }` [INFO] [stdout] 68b6dc63d77f99663cba691aaeb560c9d4053c8c382ef3cc36e50446ddf8aa23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3752b040f13c6c288bce465108274587a963ccf3a753298e41bd5835f8132a07 [INFO] running `Command { std: "docker" "start" "-a" "3752b040f13c6c288bce465108274587a963ccf3a753298e41bd5835f8132a07", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.131 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling iana-time-zone v0.1.53 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling getrandom v0.2.6 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling chrono v0.4.39 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling timer v0.2.0 [INFO] [stderr] Compiling design-patterns-in-rust v0.1.0 (/opt/rustwide/workdir) [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 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 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: 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); [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 DisplayDefault { [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 CountDisplay { [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) -> 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) -> 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>) -> 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>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn of_limit(name: &str, limit: u32, next: Option>) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn of_odd(name: &str, next: Option>) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn of_special(name: &str, number: u32, next: Option>) -> 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>; [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>, [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>) -> 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>, [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>) -> 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>, [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>) -> 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>, [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>) -> 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>; [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>, [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>) -> 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>, [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>) -> 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>, [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>) -> 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>, [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>) -> 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) -> 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 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: 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) { [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>) { [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 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>) { [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>) { [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, border_char: char) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn of_full_border(underlying: Rc) -> 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) -> 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, 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 { [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 { [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> = 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>); [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>, 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>, 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); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 9 | fn delete_observer(&mut self, observer: Box); [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 = 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> = 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, [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) -> 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) -> 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>) -> 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.58s [INFO] running `Command { std: "docker" "inspect" "3752b040f13c6c288bce465108274587a963ccf3a753298e41bd5835f8132a07", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3752b040f13c6c288bce465108274587a963ccf3a753298e41bd5835f8132a07", kill_on_drop: false }` [INFO] [stdout] 3752b040f13c6c288bce465108274587a963ccf3a753298e41bd5835f8132a07 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 150c7d1bce6ae77ebdaddee87d2c5ffde34963404d4ecab8e22bde0d8e845d40 [INFO] running `Command { std: "docker" "start" "-a" "150c7d1bce6ae77ebdaddee87d2c5ffde34963404d4ecab8e22bde0d8e845d40", kill_on_drop: false }` [INFO] [stderr] Compiling design-patterns-in-rust v0.1.0 (/opt/rustwide/workdir) [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: `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 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: `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: 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: 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 `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) -> 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 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: 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), [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); [INFO] [stdout] 9 | fn delete_observer(&mut self, observer: Box); [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 `test` profile [unoptimized + debuginfo] target(s) in 1.15s [INFO] running `Command { std: "docker" "inspect" "150c7d1bce6ae77ebdaddee87d2c5ffde34963404d4ecab8e22bde0d8e845d40", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "150c7d1bce6ae77ebdaddee87d2c5ffde34963404d4ecab8e22bde0d8e845d40", kill_on_drop: false }` [INFO] [stdout] 150c7d1bce6ae77ebdaddee87d2c5ffde34963404d4ecab8e22bde0d8e845d40