[INFO] cloning repository https://github.com/kittichanr/rust-design-pattern
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kittichanr/rust-design-pattern" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkittichanr%2Frust-design-pattern", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkittichanr%2Frust-design-pattern'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dac7760f0250f5da92245dc43fc0d95ca613b428
[INFO] testing kittichanr/rust-design-pattern against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkittichanr%2Frust-design-pattern" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kittichanr/rust-design-pattern
[INFO] finished tweaking git repo https://github.com/kittichanr/rust-design-pattern
[INFO] tweaked toml for git repo https://github.com/kittichanr/rust-design-pattern written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kittichanr/rust-design-pattern on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kittichanr/rust-design-pattern 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591
[INFO] running `Command { std: "docker" "start" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-design-pattern v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .retain(|&x| x != listener);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -             .retain(|&x| x != listener);
[INFO] [stdout] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::adaptee::SpecificTarget`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rust_design_pattern::patterns::adapter::adaptee::SpecificTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::adapter::TargetAdapter`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rust_design_pattern::patterns::adapter::adapter::TargetAdapter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::target::OrdinaryTarget`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rust_design_pattern::patterns::adapter::target::OrdinaryTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::target::Target`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rust_design_pattern::patterns::adapter::target::Target;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::facade::wallet_facade::WalletFacade`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rust_design_pattern::patterns::facade::wallet_facade::WalletFacade;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::game::run`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rust_design_pattern::patterns::factory::maze_game::game::run;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::iterator::users::UserCollection`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rust_design_pattern::patterns::iterator::users::UserCollection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::local::change`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rust_design_pattern::patterns::singleton::local::change;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::ARRAY`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rust_design_pattern::patterns::singleton::mutex::ARRAY;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::do_a_call`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rust_design_pattern::patterns::singleton::mutex::do_a_call;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::Builder`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::patterns::builder::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::concreate::car::CarBuilder`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::patterns::builder::concreate::car::CarBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::concreate::car_manual::CarManualBuilder`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::patterns::builder::concreate::car_manual::CarManualBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::director::Director`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::patterns::builder::director::Director;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::products::car::Car`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::patterns::builder::products::car::Car;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::products::car_manual::Manual`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::patterns::builder::products::car_manual::Manual;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::Component`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::patterns::composite::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::File`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::patterns::composite::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::Folder`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::patterns::composite::Folder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::factory::dialog::init::initialize`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::patterns::factory::dialog::init::initialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::iterator`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::patterns::iterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::editor`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::patterns::observer::editor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::editor::Editor`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::patterns::observer::editor::Editor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::observer::Event`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::patterns::observer::observer::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::strategy::*`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::patterns::strategy::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Navigator as NavigatorFn`, `public_transport_strategy`, and `walking_strategy`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Navigator as NavigatorFn, public_transport_strategy, walking_strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpecificTarget` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/adaptee.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SpecificTarget;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `specific_request` is never used
[INFO] [stdout]  --> src/patterns/adapter/adaptee.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl SpecificTarget {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 4 |     pub fn specific_request(&self) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TargetAdapter` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/adapter.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TargetAdapter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/adapter/adapter.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl TargetAdapter {
[INFO] [stdout]   | ------------------ associated function in this implementation
[INFO] [stdout] 8 |     pub fn new(adaptee: SpecificTarget) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Target` is never used
[INFO] [stdout]  --> src/patterns/adapter/target.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Target {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryTarget` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/target.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct OrdinaryTarget;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Builder` is never used
[INFO] [stdout]  --> src/patterns/builder/mod.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Builder {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CarType` is never used
[INFO] [stdout]  --> src/patterns/builder/components.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum CarType {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Transmission` is never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Transmission {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]   --> src/patterns/builder/components.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Engine {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(volume: f64, mileage: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn on(&mut self) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn off(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn started(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn volume(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn mileage(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn go(&mut self, mileage: f64) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpsNavigator` is never constructed
[INFO] [stdout]   --> src/patterns/builder/components.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct GpsNavigator {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_route`, and `route` are never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl GpsNavigator {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 66 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn from_route(route: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn route(&self) -> &String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FUEL` is never used
[INFO] [stdout]  --> src/patterns/builder/concreate/car.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_FUEL: f64 = 5f64;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarBuilder` is never constructed
[INFO] [stdout]   --> src/patterns/builder/concreate/car.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CarBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarManualBuilder` is never constructed
[INFO] [stdout]  --> src/patterns/builder/concreate/car_manual.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CarManualBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Director` is never constructed
[INFO] [stdout]  --> src/patterns/builder/director.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Director;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `construct_sports_car`, `construct_city_car`, and `construct_suv` are never used
[INFO] [stdout]   --> src/patterns/builder/director.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Director {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  9 |     pub fn construct_sports_car(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn construct_city_car(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn construct_suv(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Car` is never constructed
[INFO] [stdout]  --> src/patterns/builder/products/car.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Car {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/patterns/builder/products/car.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Car {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn car_type(&self) -> &CarType {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn fuel(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_fuel(&mut self, fuel: f64) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn seats(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn engine(&self) -> &Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn transmission(&self) -> &Transmission {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn gps_navigator(&self) -> &Option<GpsNavigator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manual` is never constructed
[INFO] [stdout]  --> src/patterns/builder/products/car_manual.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Manual {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/builder/products/car_manual.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Manual {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Component` is never used
[INFO] [stdout]  --> src/patterns/composite/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Component {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]  --> src/patterns/composite/file.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct File {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/composite/file.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl File {
[INFO] [stdout]   | --------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Folder` is never constructed
[INFO] [stdout]  --> src/patterns/composite/folder.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Folder {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/patterns/composite/folder.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Folder {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn add(&mut self, component: impl Component + 'static) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Account` is never constructed
[INFO] [stdout]  --> src/patterns/facade/account.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Account {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check` are never used
[INFO] [stdout]   --> src/patterns/facade/account.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Account {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn check(&self, name: &String) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ledger` is never constructed
[INFO] [stdout]  --> src/patterns/facade/ledger.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Ledger;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_entry` is never used
[INFO] [stdout]  --> src/patterns/facade/ledger.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Ledger {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 4 |     pub fn make_entry(&mut self, account_id: &String, txn_type: String, amount: u32) {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]  --> src/patterns/facade/notification.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Notification;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_wallet_credit_notification` and `send_wallet_debit_notification` are never used
[INFO] [stdout]  --> src/patterns/facade/notification.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Notification {
[INFO] [stdout]   | ----------------- methods in this implementation
[INFO] [stdout] 4 |     pub fn send_wallet_credit_notification(&self) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub fn send_wallet_debit_notification(&self) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecurityCode` is never constructed
[INFO] [stdout]  --> src/patterns/facade/security_code.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SecurityCode {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check` are never used
[INFO] [stdout]   --> src/patterns/facade/security_code.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl SecurityCode {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(code: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn check(&self, code: u32) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wallet` is never constructed
[INFO] [stdout]  --> src/patterns/facade/wallet.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Wallet {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `credit_balance`, and `debit_balance` are never used
[INFO] [stdout]   --> src/patterns/facade/wallet.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Wallet {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn credit_balance(&mut self, amount: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn debit_balance(&mut self, amount: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalletFacade` is never constructed
[INFO] [stdout]  --> src/patterns/facade/wallet_facade.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WalletFacade {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_money_to_wallet`, and `deduct_money_from_wallet` are never used
[INFO] [stdout]   --> src/patterns/facade/wallet_facade.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl WalletFacade {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(account_id: String, code: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_money_to_wallet(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn deduct_money_from_wallet(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Button` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/gui.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait Button {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Dialog` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/gui.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Dialog {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HtmlButton` is never constructed
[INFO] [stdout]  --> src/patterns/factory/dialog/html_gui.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct HtmlButton;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HtmlDialog` is never constructed
[INFO] [stdout]   --> src/patterns/factory/dialog/html_gui.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HtmlDialog;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn initialize() -> &'static dyn Dialog {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowsButton` is never constructed
[INFO] [stdout]  --> src/patterns/factory/dialog/windows_gui.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct WindowsButton;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowsDialog` is never constructed
[INFO] [stdout]   --> src/patterns/factory/dialog/windows_gui.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct WindowsDialog;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Room` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/game.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Room {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MazeGame` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/game.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait MazeGame {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/game.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn run(maze_game: impl MazeGame) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicRoom` is never constructed
[INFO] [stdout]  --> src/patterns/factory/maze_game/magic_maze.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MagicRoom {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/magic_maze.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl MagicRoom {
[INFO] [stdout]   | -------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(title: String) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicMaze` is never constructed
[INFO] [stdout]   --> src/patterns/factory/maze_game/magic_maze.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MagicMaze {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/magic_maze.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MagicMaze {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryRoom` is never constructed
[INFO] [stdout]  --> src/patterns/factory/maze_game/ordinary_maze.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OrdinaryRoom {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/ordinary_maze.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OrdinaryRoom {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(id: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryMaze` is never constructed
[INFO] [stdout]   --> src/patterns/factory/maze_game/ordinary_maze.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OrdinaryMaze {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/ordinary_maze.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl OrdinaryMaze {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserCollection` is never constructed
[INFO] [stdout]  --> src/patterns/iterator/users.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct UserCollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `iter` are never used
[INFO] [stdout]   --> src/patterns/iterator/users.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl UserCollection {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserIterator` is never constructed
[INFO] [stdout]   --> src/patterns/iterator/users.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UserIterator<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Editor` is never constructed
[INFO] [stdout]  --> src/patterns/observer/editor.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Editor {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `events`, `load`, and `save` are never used
[INFO] [stdout]   --> src/patterns/observer/editor.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Editor {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout]  9 |     pub fn events(&mut self) -> &mut Publisher {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn load(&mut self, path: String) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn save(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Event` is never used
[INFO] [stdout]  --> src/patterns/observer/observer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Event {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Subscriber` is never used
[INFO] [stdout]  --> src/patterns/observer/observer.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Subscriber = fn(file_path: String);
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Publisher` is never constructed
[INFO] [stdout]   --> src/patterns/observer/observer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Publisher {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subscribe`, `unsubscribe`, and `notify` are never used
[INFO] [stdout]   --> src/patterns/observer/observer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Publisher {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 17 |     pub fn subscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn unsubscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn notify(&self, event_type: Event, file_path: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change` is never used
[INFO] [stdout]  --> src/patterns/singleton/local.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn change(global_state: &mut u32) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARRAY` is never used
[INFO] [stdout]  --> src/patterns/singleton/mutex.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static ARRAY: Mutex<Vec<i32>> = Mutex::new(Vec::new());
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_a_call` is never used
[INFO] [stdout]  --> src/patterns/singleton/mutex.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn do_a_call() {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RouteStrategy` is never used
[INFO] [stdout]  --> src/patterns/strategy.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait RouteStrategy {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalkingStrategy` is never constructed
[INFO] [stdout]  --> src/patterns/strategy.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WalkingStrategy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublicTransportStrategy` is never constructed
[INFO] [stdout]   --> src/patterns/strategy.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct PublicTransportStrategy;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]   --> src/patterns/strategy.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Navigator<T: RouteStrategy> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `route` are never used
[INFO] [stdout]   --> src/patterns/strategy.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<T: RouteStrategy> Navigator<T> {
[INFO] [stdout]    | ----------------------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(route_strategy: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RouteStrategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type RouteStrategy = fn(from: &str, to: &str);
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walking_strategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn walking_strategy(from: &str, to: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_transport_strategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn public_transport_strategy(from: &str, to: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]   --> src/patterns/strategy_fn.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Navigator {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `route` are never used
[INFO] [stdout]   --> src/patterns/strategy_fn.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Navigator {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(route_strategy: RouteStrategy) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .retain(|&x| x != listener);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -             .retain(|&x| x != listener);
[INFO] [stdout] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .retain(|&x| x != listener);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -             .retain(|&x| x != listener);
[INFO] [stdout] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rust-design-pattern v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::adaptee::SpecificTarget`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rust_design_pattern::patterns::adapter::adaptee::SpecificTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::adapter::TargetAdapter`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rust_design_pattern::patterns::adapter::adapter::TargetAdapter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::target::OrdinaryTarget`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rust_design_pattern::patterns::adapter::target::OrdinaryTarget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::adapter::target::Target`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rust_design_pattern::patterns::adapter::target::Target;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::facade::wallet_facade::WalletFacade`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rust_design_pattern::patterns::facade::wallet_facade::WalletFacade;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::game::run`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rust_design_pattern::patterns::factory::maze_game::game::run;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::iterator::users::UserCollection`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rust_design_pattern::patterns::iterator::users::UserCollection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::local::change`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rust_design_pattern::patterns::singleton::local::change;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::ARRAY`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rust_design_pattern::patterns::singleton::mutex::ARRAY;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::do_a_call`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rust_design_pattern::patterns::singleton::mutex::do_a_call;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::Builder`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::patterns::builder::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::concreate::car::CarBuilder`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::patterns::builder::concreate::car::CarBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::concreate::car_manual::CarManualBuilder`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::patterns::builder::concreate::car_manual::CarManualBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::director::Director`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::patterns::builder::director::Director;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::products::car::Car`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::patterns::builder::products::car::Car;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::builder::products::car_manual::Manual`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::patterns::builder::products::car_manual::Manual;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::Component`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::patterns::composite::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::File`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::patterns::composite::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::composite::Folder`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::patterns::composite::Folder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::factory::dialog::init::initialize`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::patterns::factory::dialog::init::initialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::iterator`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::patterns::iterator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::editor`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::patterns::observer::editor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::editor::Editor`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::patterns::observer::editor::Editor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::observer::observer::Event`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::patterns::observer::observer::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::patterns::strategy::*`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::patterns::strategy::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Navigator as NavigatorFn`, `public_transport_strategy`, and `walking_strategy`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Navigator as NavigatorFn, public_transport_strategy, walking_strategy,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .retain(|&x| x != listener);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -             .retain(|&x| x != listener);
[INFO] [stdout] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpecificTarget` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/adaptee.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SpecificTarget;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `specific_request` is never used
[INFO] [stdout]  --> src/patterns/adapter/adaptee.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl SpecificTarget {
[INFO] [stdout]   | ------------------- method in this implementation
[INFO] [stdout] 4 |     pub fn specific_request(&self) -> String {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TargetAdapter` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/adapter.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TargetAdapter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/adapter/adapter.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl TargetAdapter {
[INFO] [stdout]   | ------------------ associated function in this implementation
[INFO] [stdout] 8 |     pub fn new(adaptee: SpecificTarget) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Target` is never used
[INFO] [stdout]  --> src/patterns/adapter/target.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Target {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryTarget` is never constructed
[INFO] [stdout]  --> src/patterns/adapter/target.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct OrdinaryTarget;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Builder` is never used
[INFO] [stdout]  --> src/patterns/builder/mod.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Builder {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CarType` is never used
[INFO] [stdout]  --> src/patterns/builder/components.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum CarType {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Transmission` is never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Transmission {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]   --> src/patterns/builder/components.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Engine {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(volume: f64, mileage: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn on(&mut self) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn off(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn started(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn volume(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn mileage(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn go(&mut self, mileage: f64) {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpsNavigator` is never constructed
[INFO] [stdout]   --> src/patterns/builder/components.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct GpsNavigator {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_route`, and `route` are never used
[INFO] [stdout]   --> src/patterns/builder/components.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl GpsNavigator {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 66 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn from_route(route: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn route(&self) -> &String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FUEL` is never used
[INFO] [stdout]  --> src/patterns/builder/concreate/car.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_FUEL: f64 = 5f64;
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarBuilder` is never constructed
[INFO] [stdout]   --> src/patterns/builder/concreate/car.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CarBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarManualBuilder` is never constructed
[INFO] [stdout]  --> src/patterns/builder/concreate/car_manual.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct CarManualBuilder {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Director` is never constructed
[INFO] [stdout]  --> src/patterns/builder/director.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Director;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `construct_sports_car`, `construct_city_car`, and `construct_suv` are never used
[INFO] [stdout]   --> src/patterns/builder/director.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Director {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout]  9 |     pub fn construct_sports_car(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn construct_city_car(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn construct_suv(builder: &mut impl Builder) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Car` is never constructed
[INFO] [stdout]  --> src/patterns/builder/products/car.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Car {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/patterns/builder/products/car.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Car {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn car_type(&self) -> &CarType {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn fuel(&self) -> f64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_fuel(&mut self, fuel: f64) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn seats(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn engine(&self) -> &Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn transmission(&self) -> &Transmission {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn gps_navigator(&self) -> &Option<GpsNavigator> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Manual` is never constructed
[INFO] [stdout]  --> src/patterns/builder/products/car_manual.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Manual {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/builder/products/car_manual.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Manual {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Component` is never used
[INFO] [stdout]  --> src/patterns/composite/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Component {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]  --> src/patterns/composite/file.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct File {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/composite/file.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl File {
[INFO] [stdout]   | --------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Folder` is never constructed
[INFO] [stdout]  --> src/patterns/composite/folder.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Folder {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `add` are never used
[INFO] [stdout]   --> src/patterns/composite/folder.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Folder {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn add(&mut self, component: impl Component + 'static) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Account` is never constructed
[INFO] [stdout]  --> src/patterns/facade/account.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Account {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check` are never used
[INFO] [stdout]   --> src/patterns/facade/account.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Account {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn check(&self, name: &String) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ledger` is never constructed
[INFO] [stdout]  --> src/patterns/facade/ledger.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Ledger;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_entry` is never used
[INFO] [stdout]  --> src/patterns/facade/ledger.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Ledger {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 4 |     pub fn make_entry(&mut self, account_id: &String, txn_type: String, amount: u32) {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notification` is never constructed
[INFO] [stdout]  --> src/patterns/facade/notification.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Notification;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_wallet_credit_notification` and `send_wallet_debit_notification` are never used
[INFO] [stdout]  --> src/patterns/facade/notification.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Notification {
[INFO] [stdout]   | ----------------- methods in this implementation
[INFO] [stdout] 4 |     pub fn send_wallet_credit_notification(&self) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub fn send_wallet_debit_notification(&self) {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecurityCode` is never constructed
[INFO] [stdout]  --> src/patterns/facade/security_code.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SecurityCode {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `check` are never used
[INFO] [stdout]   --> src/patterns/facade/security_code.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl SecurityCode {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(code: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn check(&self, code: u32) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wallet` is never constructed
[INFO] [stdout]  --> src/patterns/facade/wallet.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Wallet {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `credit_balance`, and `debit_balance` are never used
[INFO] [stdout]   --> src/patterns/facade/wallet.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Wallet {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn credit_balance(&mut self, amount: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn debit_balance(&mut self, amount: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalletFacade` is never constructed
[INFO] [stdout]  --> src/patterns/facade/wallet_facade.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WalletFacade {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_money_to_wallet`, and `deduct_money_from_wallet` are never used
[INFO] [stdout]   --> src/patterns/facade/wallet_facade.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl WalletFacade {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(account_id: String, code: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_money_to_wallet(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn deduct_money_from_wallet(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Button` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/gui.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub trait Button {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Dialog` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/gui.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Dialog {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HtmlButton` is never constructed
[INFO] [stdout]  --> src/patterns/factory/dialog/html_gui.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct HtmlButton;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HtmlDialog` is never constructed
[INFO] [stdout]   --> src/patterns/factory/dialog/html_gui.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HtmlDialog;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize` is never used
[INFO] [stdout]  --> src/patterns/factory/dialog/init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn initialize() -> &'static dyn Dialog {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowsButton` is never constructed
[INFO] [stdout]  --> src/patterns/factory/dialog/windows_gui.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct WindowsButton;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowsDialog` is never constructed
[INFO] [stdout]   --> src/patterns/factory/dialog/windows_gui.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct WindowsDialog;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Room` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/game.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Room {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MazeGame` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/game.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait MazeGame {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/game.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn run(maze_game: impl MazeGame) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicRoom` is never constructed
[INFO] [stdout]  --> src/patterns/factory/maze_game/magic_maze.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MagicRoom {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/magic_maze.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl MagicRoom {
[INFO] [stdout]   | -------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(title: String) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicMaze` is never constructed
[INFO] [stdout]   --> src/patterns/factory/maze_game/magic_maze.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MagicMaze {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/magic_maze.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MagicMaze {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryRoom` is never constructed
[INFO] [stdout]  --> src/patterns/factory/maze_game/ordinary_maze.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OrdinaryRoom {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/patterns/factory/maze_game/ordinary_maze.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OrdinaryRoom {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(id: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrdinaryMaze` is never constructed
[INFO] [stdout]   --> src/patterns/factory/maze_game/ordinary_maze.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OrdinaryMaze {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/patterns/factory/maze_game/ordinary_maze.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl OrdinaryMaze {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserCollection` is never constructed
[INFO] [stdout]  --> src/patterns/iterator/users.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct UserCollection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `iter` are never used
[INFO] [stdout]   --> src/patterns/iterator/users.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl UserCollection {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserIterator` is never constructed
[INFO] [stdout]   --> src/patterns/iterator/users.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UserIterator<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Editor` is never constructed
[INFO] [stdout]  --> src/patterns/observer/editor.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Editor {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `events`, `load`, and `save` are never used
[INFO] [stdout]   --> src/patterns/observer/editor.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Editor {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout]  9 |     pub fn events(&mut self) -> &mut Publisher {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn load(&mut self, path: String) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn save(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Event` is never used
[INFO] [stdout]  --> src/patterns/observer/observer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Event {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Subscriber` is never used
[INFO] [stdout]  --> src/patterns/observer/observer.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Subscriber = fn(file_path: String);
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Publisher` is never constructed
[INFO] [stdout]   --> src/patterns/observer/observer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Publisher {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subscribe`, `unsubscribe`, and `notify` are never used
[INFO] [stdout]   --> src/patterns/observer/observer.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Publisher {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 17 |     pub fn subscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn unsubscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn notify(&self, event_type: Event, file_path: String) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change` is never used
[INFO] [stdout]  --> src/patterns/singleton/local.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn change(global_state: &mut u32) {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARRAY` is never used
[INFO] [stdout]  --> src/patterns/singleton/mutex.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub static ARRAY: Mutex<Vec<i32>> = Mutex::new(Vec::new());
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_a_call` is never used
[INFO] [stdout]  --> src/patterns/singleton/mutex.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn do_a_call() {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RouteStrategy` is never used
[INFO] [stdout]  --> src/patterns/strategy.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait RouteStrategy {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalkingStrategy` is never constructed
[INFO] [stdout]  --> src/patterns/strategy.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct WalkingStrategy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublicTransportStrategy` is never constructed
[INFO] [stdout]   --> src/patterns/strategy.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct PublicTransportStrategy;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]   --> src/patterns/strategy.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Navigator<T: RouteStrategy> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `route` are never used
[INFO] [stdout]   --> src/patterns/strategy.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl<T: RouteStrategy> Navigator<T> {
[INFO] [stdout]    | ----------------------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(route_strategy: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RouteStrategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type RouteStrategy = fn(from: &str, to: &str);
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walking_strategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn walking_strategy(from: &str, to: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_transport_strategy` is never used
[INFO] [stdout]  --> src/patterns/strategy_fn.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn public_transport_strategy(from: &str, to: &str) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]   --> src/patterns/strategy_fn.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Navigator {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `route` are never used
[INFO] [stdout]   --> src/patterns/strategy_fn.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Navigator {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(route_strategy: RouteStrategy) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stdout]    |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |             .retain(|&x| x != listener);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]    |
[INFO] [stdout] 26 -             .retain(|&x| x != listener);
[INFO] [stdout] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] running `Command { std: "docker" "inspect" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/patterns/iterator/users.rs:18:17
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn iter(&self) -> UserIterator<'_> {
[INFO] [stderr]    |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/patterns/observer/observer.rs:26:26
[INFO] [stderr]    |
[INFO] [stderr] 26 |             .retain(|&x| x != listener);
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]    |
[INFO] [stderr] 26 -             .retain(|&x| x != listener);
[INFO] [stderr] 26 +             .retain(|&x| !std::ptr::fn_addr_eq(x, listener));
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-design-pattern` (lib) generated 2 warnings (run `cargo fix --lib -p rust-design-pattern` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::adapter::adaptee::SpecificTarget`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rust_design_pattern::patterns::adapter::adaptee::SpecificTarget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::adapter::adapter::TargetAdapter`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rust_design_pattern::patterns::adapter::adapter::TargetAdapter;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::adapter::target::OrdinaryTarget`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rust_design_pattern::patterns::adapter::target::OrdinaryTarget;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::adapter::target::Target`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rust_design_pattern::patterns::adapter::target::Target;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::facade::wallet_facade::WalletFacade`
[INFO] [stderr]  --> src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rust_design_pattern::patterns::facade::wallet_facade::WalletFacade;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::game::run`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rust_design_pattern::patterns::factory::maze_game::game::run;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rust_design_pattern::patterns::factory::maze_game::magic_maze::MagicMaze;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze`
[INFO] [stderr]  --> src/main.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rust_design_pattern::patterns::factory::maze_game::ordinary_maze::OrdinaryMaze;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::iterator::users::UserCollection`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rust_design_pattern::patterns::iterator::users::UserCollection;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::singleton::local::change`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rust_design_pattern::patterns::singleton::local::change;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::ARRAY`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rust_design_pattern::patterns::singleton::mutex::ARRAY;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rust_design_pattern::patterns::singleton::mutex::do_a_call`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rust_design_pattern::patterns::singleton::mutex::do_a_call;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::Builder`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::patterns::builder::Builder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::concreate::car::CarBuilder`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::patterns::builder::concreate::car::CarBuilder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::concreate::car_manual::CarManualBuilder`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::patterns::builder::concreate::car_manual::CarManualBuilder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::director::Director`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::patterns::builder::director::Director;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::products::car::Car`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::patterns::builder::products::car::Car;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::builder::products::car_manual::Manual`
[INFO] [stderr]   --> src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::patterns::builder::products::car_manual::Manual;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::composite::Component`
[INFO] [stderr]   --> src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::patterns::composite::Component;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::composite::File`
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::patterns::composite::File;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::composite::Folder`
[INFO] [stderr]   --> src/main.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use crate::patterns::composite::Folder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::factory::dialog::init::initialize`
[INFO] [stderr]   --> src/main.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::patterns::factory::dialog::init::initialize;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::iterator`
[INFO] [stderr]   --> src/main.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::patterns::iterator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::observer::editor`
[INFO] [stderr]   --> src/main.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use crate::patterns::observer::editor;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::observer::editor::Editor`
[INFO] [stderr]   --> src/main.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | use crate::patterns::observer::editor::Editor;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::observer::observer::Event`
[INFO] [stderr]   --> src/main.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | use crate::patterns::observer::observer::Event;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::patterns::strategy::*`
[INFO] [stderr]   --> src/main.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::patterns::strategy::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Navigator as NavigatorFn`, `public_transport_strategy`, and `walking_strategy`
[INFO] [stderr]   --> src/main.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     Navigator as NavigatorFn, public_transport_strategy, walking_strategy,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SpecificTarget` is never constructed
[INFO] [stderr]  --> src/patterns/adapter/adaptee.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct SpecificTarget;
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `specific_request` is never used
[INFO] [stderr]  --> src/patterns/adapter/adaptee.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl SpecificTarget {
[INFO] [stderr]   | ------------------- method in this implementation
[INFO] [stderr] 4 |     pub fn specific_request(&self) -> String {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TargetAdapter` is never constructed
[INFO] [stderr]  --> src/patterns/adapter/adapter.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct TargetAdapter {
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/patterns/adapter/adapter.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | impl TargetAdapter {
[INFO] [stderr]   | ------------------ associated function in this implementation
[INFO] [stderr] 8 |     pub fn new(adaptee: SpecificTarget) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Target` is never used
[INFO] [stderr]  --> src/patterns/adapter/target.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub trait Target {
[INFO] [stderr]   |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OrdinaryTarget` is never constructed
[INFO] [stderr]  --> src/patterns/adapter/target.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct OrdinaryTarget;
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Builder` is never used
[INFO] [stderr]  --> src/patterns/builder/mod.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub trait Builder {
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `CarType` is never used
[INFO] [stderr]  --> src/patterns/builder/components.rs:2:10
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub enum CarType {
[INFO] [stderr]   |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Transmission` is never used
[INFO] [stderr]   --> src/patterns/builder/components.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum Transmission {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Engine` is never constructed
[INFO] [stderr]   --> src/patterns/builder/components.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Engine {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/patterns/builder/components.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl Engine {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr] 24 |     pub fn new(volume: f64, mileage: f64) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn on(&mut self) {
[INFO] [stderr]    |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn off(&mut self) {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn started(&mut self) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn volume(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn mileage(&self) -> f64 {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn go(&mut self, mileage: f64) {
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GpsNavigator` is never constructed
[INFO] [stderr]   --> src/patterns/builder/components.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub struct GpsNavigator {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `from_route`, and `route` are never used
[INFO] [stderr]   --> src/patterns/builder/components.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 65 | impl GpsNavigator {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 66 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn from_route(route: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn route(&self) -> &String {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_FUEL` is never used
[INFO] [stderr]  --> src/patterns/builder/concreate/car.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const DEFAULT_FUEL: f64 = 5f64;
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CarBuilder` is never constructed
[INFO] [stderr]   --> src/patterns/builder/concreate/car.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct CarBuilder {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CarManualBuilder` is never constructed
[INFO] [stderr]  --> src/patterns/builder/concreate/car_manual.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct CarManualBuilder {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Director` is never constructed
[INFO] [stderr]  --> src/patterns/builder/director.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Director;
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `construct_sports_car`, `construct_city_car`, and `construct_suv` are never used
[INFO] [stderr]   --> src/patterns/builder/director.rs:9:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl Director {
[INFO] [stderr]    | ------------- associated functions in this implementation
[INFO] [stderr]  9 |     pub fn construct_sports_car(builder: &mut impl Builder) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn construct_city_car(builder: &mut impl Builder) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn construct_suv(builder: &mut impl Builder) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Car` is never constructed
[INFO] [stderr]  --> src/patterns/builder/products/car.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Car {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/patterns/builder/products/car.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Car {
[INFO] [stderr]    | -------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn car_type(&self) -> &CarType {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn fuel(&self) -> f64 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn set_fuel(&mut self, fuel: f64) {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn seats(&self) -> u16 {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn engine(&self) -> &Engine {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn transmission(&self) -> &Transmission {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn gps_navigator(&self) -> &Option<GpsNavigator> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Manual` is never constructed
[INFO] [stderr]  --> src/patterns/builder/products/car_manual.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Manual {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/patterns/builder/products/car_manual.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl Manual {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 14 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Component` is never used
[INFO] [stderr]  --> src/patterns/composite/mod.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub trait Component {
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `File` is never constructed
[INFO] [stderr]  --> src/patterns/composite/file.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct File {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/patterns/composite/file.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | impl File {
[INFO] [stderr]   | --------- associated function in this implementation
[INFO] [stderr] 8 |     pub fn new(name: &'static str) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Folder` is never constructed
[INFO] [stderr]  --> src/patterns/composite/folder.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Folder {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `add` are never used
[INFO] [stderr]   --> src/patterns/composite/folder.rs:9:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl Folder {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr]  9 |     pub fn new(name: &'static str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn add(&mut self, component: impl Component + 'static) {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Account` is never constructed
[INFO] [stderr]  --> src/patterns/facade/account.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Account {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `check` are never used
[INFO] [stderr]   --> src/patterns/facade/account.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr]  5 | impl Account {
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr]  6 |     pub fn new(name: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub fn check(&self, name: &String) -> Result<(), String> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Ledger` is never constructed
[INFO] [stderr]  --> src/patterns/facade/ledger.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Ledger;
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `make_entry` is never used
[INFO] [stderr]  --> src/patterns/facade/ledger.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl Ledger {
[INFO] [stderr]   | ----------- method in this implementation
[INFO] [stderr] 4 |     pub fn make_entry(&mut self, account_id: &String, txn_type: String, amount: u32) {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Notification` is never constructed
[INFO] [stderr]  --> src/patterns/facade/notification.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Notification;
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `send_wallet_credit_notification` and `send_wallet_debit_notification` are never used
[INFO] [stderr]  --> src/patterns/facade/notification.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl Notification {
[INFO] [stderr]   | ----------------- methods in this implementation
[INFO] [stderr] 4 |     pub fn send_wallet_credit_notification(&self) {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 |     pub fn send_wallet_debit_notification(&self) {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SecurityCode` is never constructed
[INFO] [stderr]  --> src/patterns/facade/security_code.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct SecurityCode {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `check` are never used
[INFO] [stderr]   --> src/patterns/facade/security_code.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr]  5 | impl SecurityCode {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr]  6 |     pub fn new(code: u32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub fn check(&self, code: u32) -> Result<(), String> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Wallet` is never constructed
[INFO] [stderr]  --> src/patterns/facade/wallet.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Wallet {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `credit_balance`, and `debit_balance` are never used
[INFO] [stderr]   --> src/patterns/facade/wallet.rs:6:12
[INFO] [stderr]    |
[INFO] [stderr]  5 | impl Wallet {
[INFO] [stderr]    | ----------- associated items in this implementation
[INFO] [stderr]  6 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     pub fn credit_balance(&mut self, amount: u32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub fn debit_balance(&mut self, amount: u32) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WalletFacade` is never constructed
[INFO] [stderr]  --> src/patterns/facade/wallet_facade.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct WalletFacade {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_money_to_wallet`, and `deduct_money_from_wallet` are never used
[INFO] [stderr]   --> src/patterns/facade/wallet_facade.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl WalletFacade {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 15 |     pub fn new(account_id: String, code: u32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn add_money_to_wallet(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn deduct_money_from_wallet(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Button` is never used
[INFO] [stderr]  --> src/patterns/factory/dialog/gui.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub trait Button {
[INFO] [stderr]   |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Dialog` is never used
[INFO] [stderr]  --> src/patterns/factory/dialog/gui.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub trait Dialog {
[INFO] [stderr]   |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HtmlButton` is never constructed
[INFO] [stderr]  --> src/patterns/factory/dialog/html_gui.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct HtmlButton;
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HtmlDialog` is never constructed
[INFO] [stderr]   --> src/patterns/factory/dialog/html_gui.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct HtmlDialog;
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `initialize` is never used
[INFO] [stderr]  --> src/patterns/factory/dialog/init.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn initialize() -> &'static dyn Dialog {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WindowsButton` is never constructed
[INFO] [stderr]  --> src/patterns/factory/dialog/windows_gui.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct WindowsButton;
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WindowsDialog` is never constructed
[INFO] [stderr]   --> src/patterns/factory/dialog/windows_gui.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct WindowsDialog;
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Room` is never used
[INFO] [stderr]  --> src/patterns/factory/maze_game/game.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub trait Room {
[INFO] [stderr]   |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `MazeGame` is never used
[INFO] [stderr]  --> src/patterns/factory/maze_game/game.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub trait MazeGame {
[INFO] [stderr]   |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]   --> src/patterns/factory/maze_game/game.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn run(maze_game: impl MazeGame) {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MagicRoom` is never constructed
[INFO] [stderr]  --> src/patterns/factory/maze_game/magic_maze.rs:4:12
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct MagicRoom {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/patterns/factory/maze_game/magic_maze.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl MagicRoom {
[INFO] [stderr]   | -------------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(title: String) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MagicMaze` is never constructed
[INFO] [stderr]   --> src/patterns/factory/maze_game/magic_maze.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct MagicMaze {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/patterns/factory/maze_game/magic_maze.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl MagicMaze {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 31 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OrdinaryRoom` is never constructed
[INFO] [stderr]  --> src/patterns/factory/maze_game/ordinary_maze.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct OrdinaryRoom {
[INFO] [stderr]   |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/patterns/factory/maze_game/ordinary_maze.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | impl OrdinaryRoom {
[INFO] [stderr]   | ----------------- associated function in this implementation
[INFO] [stderr] 9 |     pub fn new(id: u32) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OrdinaryMaze` is never constructed
[INFO] [stderr]   --> src/patterns/factory/maze_game/ordinary_maze.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct OrdinaryMaze {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/patterns/factory/maze_game/ordinary_maze.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl OrdinaryMaze {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 31 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UserCollection` is never constructed
[INFO] [stderr]  --> src/patterns/iterator/users.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct UserCollection {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `iter` are never used
[INFO] [stderr]   --> src/patterns/iterator/users.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl UserCollection {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 12 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub fn iter(&self) -> UserIterator {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UserIterator` is never constructed
[INFO] [stderr]   --> src/patterns/iterator/users.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct UserIterator<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Editor` is never constructed
[INFO] [stderr]  --> src/patterns/observer/editor.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Editor {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `events`, `load`, and `save` are never used
[INFO] [stderr]   --> src/patterns/observer/editor.rs:9:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl Editor {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr]  9 |     pub fn events(&mut self) -> &mut Publisher {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub fn load(&mut self, path: String) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub fn save(&self) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Event` is never used
[INFO] [stderr]  --> src/patterns/observer/observer.rs:4:10
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum Event {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Subscriber` is never used
[INFO] [stderr]  --> src/patterns/observer/observer.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub type Subscriber = fn(file_path: String);
[INFO] [stderr]   |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Publisher` is never constructed
[INFO] [stderr]   --> src/patterns/observer/observer.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Publisher {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `subscribe`, `unsubscribe`, and `notify` are never used
[INFO] [stderr]   --> src/patterns/observer/observer.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Publisher {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] 17 |     pub fn subscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub fn unsubscribe(&mut self, event_type: Event, listener: Subscriber) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     pub fn notify(&self, event_type: Event, file_path: String) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `change` is never used
[INFO] [stderr]  --> src/patterns/singleton/local.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn change(global_state: &mut u32) {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `ARRAY` is never used
[INFO] [stderr]  --> src/patterns/singleton/mutex.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub static ARRAY: Mutex<Vec<i32>> = Mutex::new(Vec::new());
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `do_a_call` is never used
[INFO] [stderr]  --> src/patterns/singleton/mutex.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn do_a_call() {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `RouteStrategy` is never used
[INFO] [stderr]  --> src/patterns/strategy.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub trait RouteStrategy {
[INFO] [stderr]   |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WalkingStrategy` is never constructed
[INFO] [stderr]  --> src/patterns/strategy.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct WalkingStrategy;
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PublicTransportStrategy` is never constructed
[INFO] [stderr]   --> src/patterns/strategy.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct PublicTransportStrategy;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Navigator` is never constructed
[INFO] [stderr]   --> src/patterns/strategy.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Navigator<T: RouteStrategy> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `route` are never used
[INFO] [stderr]   --> src/patterns/strategy.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl<T: RouteStrategy> Navigator<T> {
[INFO] [stderr]    | ----------------------------------- associated items in this implementation
[INFO] [stderr] 29 |     pub fn new(route_strategy: T) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `RouteStrategy` is never used
[INFO] [stderr]  --> src/patterns/strategy_fn.rs:1:6
[INFO] [stderr]   |
[INFO] [stderr] 1 | type RouteStrategy = fn(from: &str, to: &str);
[INFO] [stderr]   |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `walking_strategy` is never used
[INFO] [stderr]  --> src/patterns/strategy_fn.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn walking_strategy(from: &str, to: &str) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `public_transport_strategy` is never used
[INFO] [stderr]  --> src/patterns/strategy_fn.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn public_transport_strategy(from: &str, to: &str) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Navigator` is never constructed
[INFO] [stderr]   --> src/patterns/strategy_fn.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Navigator {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `route` are never used
[INFO] [stderr]   --> src/patterns/strategy_fn.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl Navigator {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 19 |     pub fn new(route_strategy: RouteStrategy) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub fn route(&self, from: &str, to: &str) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-design-pattern` (bin "rust-design-pattern" test) generated 109 warnings (2 duplicates) (run `cargo fix --bin "rust-design-pattern" -p rust-design-pattern --tests` to apply 28 suggestions)
[INFO] [stderr] warning: `rust-design-pattern` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_design_pattern-b8291099229862f5)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_design_pattern-6e792e905a6d0134)
[INFO] [stderr]    Doc-tests rust_design_pattern
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591", kill_on_drop: false }`
[INFO] [stdout] f711f4189a41fe758f90243e9bf2e464bf3ecc1382e801900d2bd19a6095c591
