[INFO] cloning repository https://github.com/frostRed/head_first_design_patterns_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/frostRed/head_first_design_patterns_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FfrostRed%2Fhead_first_design_patterns_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FfrostRed%2Fhead_first_design_patterns_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 779447adaf64ad62404312d51b8363b8602c3552 [INFO] checking frostRed/head_first_design_patterns_rust against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FfrostRed%2Fhead_first_design_patterns_rust" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/frostRed/head_first_design_patterns_rust on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/frostRed/head_first_design_patterns_rust [INFO] finished tweaking git repo https://github.com/frostRed/head_first_design_patterns_rust [INFO] tweaked toml for git repo https://github.com/frostRed/head_first_design_patterns_rust written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/frostRed/head_first_design_patterns_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 5bda83ba377a11453ce12441c9d36a07b664364525c6cb665ec813a37e65b3a0 [INFO] running `Command { std: "docker" "start" "-a" "5bda83ba377a11453ce12441c9d36a07b664364525c6cb665ec813a37e65b3a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5bda83ba377a11453ce12441c9d36a07b664364525c6cb665ec813a37e65b3a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bda83ba377a11453ce12441c9d36a07b664364525c6cb665ec813a37e65b3a0", kill_on_drop: false }` [INFO] [stdout] 5bda83ba377a11453ce12441c9d36a07b664364525c6cb665ec813a37e65b3a0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 59891cd3da0a5e236a532231676c7dcdefda25217d4697cd8c1f23268828619d [INFO] running `Command { std: "docker" "start" "-a" "59891cd3da0a5e236a532231676c7dcdefda25217d4697cd8c1f23268828619d", kill_on_drop: false }` [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Checking head_first_design_patterns v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/singleton.rs:50:49 [INFO] [stdout] | [INFO] [stdout] 50 | pub static ref C: RwLock = { RwLock::new(ChocolateBoiler::new()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:19:48 [INFO] [stdout] | [INFO] [stdout] 19 | fn quack_behavior(&self) -> Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:24:46 [INFO] [stdout] | [INFO] [stdout] 24 | fn fly_behavior(&self) -> Rc>>; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:29:50 [INFO] [stdout] | [INFO] [stdout] 29 | fn set_fly_behavior(&self, fly_behavior: Box) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:83:36 [INFO] [stdout] | [INFO] [stdout] 83 | quack_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | fly_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:90:73 [INFO] [stdout] | [INFO] [stdout] 90 | let fly = Rc::new(RefCell::new(Box::new(FlyWithWings {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:91:68 [INFO] [stdout] | [INFO] [stdout] 91 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:103:48 [INFO] [stdout] | [INFO] [stdout] 103 | fn quack_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:106:46 [INFO] [stdout] | [INFO] [stdout] 106 | fn fly_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | quack_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | fly_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:119:69 [INFO] [stdout] | [INFO] [stdout] 119 | let fly = Rc::new(RefCell::new(Box::new(FlyNoWay {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:120:68 [INFO] [stdout] | [INFO] [stdout] 120 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:131:48 [INFO] [stdout] | [INFO] [stdout] 131 | fn quack_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:134:46 [INFO] [stdout] | [INFO] [stdout] 134 | fn fly_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/template_method.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ChocolateBoiler` [INFO] [stdout] --> src/lib.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::singleton::{ChocolateBoiler, C}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FlyBehavior` [INFO] [stdout] --> src/lib.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::strategy::{Duck, FlyBehavior, FlyRocketPowered, MallardDuck, ModelDuck}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> src/singleton.rs:50:49 [INFO] [stdout] | [INFO] [stdout] 50 | pub static ref C: RwLock = { RwLock::new(ChocolateBoiler::new()) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:19:48 [INFO] [stdout] | [INFO] [stdout] 19 | fn quack_behavior(&self) -> Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:24:46 [INFO] [stdout] | [INFO] [stdout] 24 | fn fly_behavior(&self) -> Rc>>; [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:29:50 [INFO] [stdout] | [INFO] [stdout] 29 | fn set_fly_behavior(&self, fly_behavior: Box) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:83:36 [INFO] [stdout] | [INFO] [stdout] 83 | quack_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:84:34 [INFO] [stdout] | [INFO] [stdout] 84 | fly_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:90:73 [INFO] [stdout] | [INFO] [stdout] 90 | let fly = Rc::new(RefCell::new(Box::new(FlyWithWings {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:91:68 [INFO] [stdout] | [INFO] [stdout] 91 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:103:48 [INFO] [stdout] | [INFO] [stdout] 103 | fn quack_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:106:46 [INFO] [stdout] | [INFO] [stdout] 106 | fn fly_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | quack_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:114:34 [INFO] [stdout] | [INFO] [stdout] 114 | fly_behavior: Rc>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:119:69 [INFO] [stdout] | [INFO] [stdout] 119 | let fly = Rc::new(RefCell::new(Box::new(FlyNoWay {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:120:68 [INFO] [stdout] | [INFO] [stdout] 120 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:131:48 [INFO] [stdout] | [INFO] [stdout] 131 | fn quack_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/strategy.rs:134:46 [INFO] [stdout] | [INFO] [stdout] 134 | fn fly_behavior(&self) -> Rc>> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/template_method.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Beverage`, `DarkRost`, `Espresso`, `HouseBlend`, `Mocha`, `Soy`, `Whip` [INFO] [stdout] --> src/lib.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::decorator::{Beverage, DarkRost, Espresso, HouseBlend, Mocha, Soy, Whip}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChicagoPizzaStore`, `NYPizzaStore`, `PizzaStore`, `Pizza` [INFO] [stdout] --> src/lib.rs:20:29 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::factory_method::{ChicagoPizzaStore, NYPizzaStore, Pizza, PizzaStore}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CurrentConditionsDisplay`, `Subject`, `WeatherDate` [INFO] [stdout] --> src/lib.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::observer::{CurrentConditionsDisplay, Subject, WeatherDate}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `C`, `ChocolateBoiler` [INFO] [stdout] --> src/lib.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::singleton::{ChocolateBoiler, C}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duck`, `FlyBehavior`, `FlyRocketPowered`, `MallardDuck`, `ModelDuck` [INFO] [stdout] --> src/lib.rs:23:23 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::strategy::{Duck, FlyBehavior, FlyRocketPowered, MallardDuck, ModelDuck}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::vec::Vec::::remove_item`: Removing the first item equal to a needle is already easily possible with iterators and the current Vec methods. Furthermore, having a method for one particular case of removal (linear search, only the first item, no swap remove) but not for others is inconsistent. This method will be removed soon. [INFO] [stdout] --> src/observer.rs:57:24 [INFO] [stdout] | [INFO] [stdout] 57 | self.observers.remove_item(&o) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::vec::Vec::::remove_item`: Removing the first item equal to a needle is already easily possible with iterators and the current Vec methods. Furthermore, having a method for one particular case of removal (linear search, only the first item, no swap remove) but not for others is inconsistent. This method will be removed soon. [INFO] [stdout] --> src/observer.rs:57:24 [INFO] [stdout] | [INFO] [stdout] 57 | self.observers.remove_item(&o) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pizza` [INFO] [stdout] --> src/lib.rs:20:62 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::factory_method::{ChicagoPizzaStore, NYPizzaStore, Pizza, PizzaStore}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/command.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | for i in 0..7 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dvd` [INFO] [stdout] --> src/facade.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dvd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | fn add(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/composite.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | fn child(&self, i: usize) -> Result, MenuComponentErr> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/composite.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(ref mut v) = self.menu_components { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/command.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | for i in 0..7 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dvd` [INFO] [stdout] --> src/facade.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dvd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | fn add(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/composite.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | fn child(&self, i: usize) -> Result, MenuComponentErr> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/composite.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(ref mut v) = self.menu_components { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `menu_component` [INFO] [stdout] --> src/composite.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/state.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut g = GumballMachine { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `weather_data` [INFO] [stdout] --> src/observer.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | weather_data: std::rc::Weak>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tuner` [INFO] [stdout] --> src/facade.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | tuner: Tuner, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `cd` [INFO] [stdout] --> src/facade.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | cd: CdPlayer, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dough` [INFO] [stdout] --> src/factory_method.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | dough: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sauce` [INFO] [stdout] --> src/factory_method.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | sauce: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dough` [INFO] [stdout] --> src/factory_method.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | dough: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sauce` [INFO] [stdout] --> src/factory_method.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | sauce: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_item` [INFO] [stdout] --> src/iterator.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `menu_items` [INFO] [stdout] --> src/iterator.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | fn menu_items(&self) -> &[MenuItem] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `number_of_items` [INFO] [stdout] --> src/iterator.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | number_of_items: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_item` [INFO] [stdout] --> src/iterator.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Waitress` [INFO] [stdout] --> src/composite.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | struct Waitress { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/composite.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | fn new(all_menus: Rc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `print_menu` [INFO] [stdout] --> src/composite.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 167 | fn print_menu(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `eject_quarter` [INFO] [stdout] --> src/state.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn eject_quarter(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `turn_crank` [INFO] [stdout] --> src/state.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn turn_crank(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `gumball_machine` [INFO] [stdout] --> src/state.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | gumball_machine: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/composite.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | self.all_menus.print(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/state.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut g = GumballMachine { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `weather_data` [INFO] [stdout] --> src/observer.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | weather_data: std::rc::Weak>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/command.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn new(name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/command.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | fn new(name: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `undo_command` [INFO] [stdout] --> src/command.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | undo_command: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/command.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_command` [INFO] [stdout] --> src/command.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn set_command( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on_button_was_pushed` [INFO] [stdout] --> src/command.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn on_button_was_pushed(&mut self, slot: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `off_button_was_pushed` [INFO] [stdout] --> src/command.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn off_button_was_pushed(&mut self, slot: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `undo_button_was_pushed` [INFO] [stdout] --> src/command.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn undo_button_was_pushed(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Amplifier` [INFO] [stdout] --> src/facade.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Amplifier; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on` [INFO] [stdout] --> src/facade.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_dvd` [INFO] [stdout] --> src/facade.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_surround_sound` [INFO] [stdout] --> src/facade.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn set_surround_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_volume` [INFO] [stdout] --> src/facade.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | fn set_volume(&self, volume: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `off` [INFO] [stdout] --> src/facade.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Tuner` [INFO] [stdout] --> src/facade.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Tuner; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `DvdPlayer` [INFO] [stdout] --> src/facade.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct DvdPlayer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on` [INFO] [stdout] --> src/facade.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `stop` [INFO] [stdout] --> src/facade.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | fn stop(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `play` [INFO] [stdout] --> src/facade.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | fn play(&mut self, movie: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `off` [INFO] [stdout] --> src/facade.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `eject` [INFO] [stdout] --> src/facade.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn eject(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `CdPlayer` [INFO] [stdout] --> src/facade.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | struct CdPlayer; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Projector` [INFO] [stdout] --> src/facade.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | struct Projector; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on` [INFO] [stdout] --> src/facade.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `wide_screen_mode` [INFO] [stdout] --> src/facade.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | fn wide_screen_mode(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `off` [INFO] [stdout] --> src/facade.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `TheaterLights` [INFO] [stdout] --> src/facade.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct TheaterLights; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `dim` [INFO] [stdout] --> src/facade.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | fn dim(&self, num: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on` [INFO] [stdout] --> src/facade.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Screen` [INFO] [stdout] --> src/facade.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | struct Screen; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `down` [INFO] [stdout] --> src/facade.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | fn down(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `up` [INFO] [stdout] --> src/facade.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | fn up(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `PopcornPopper` [INFO] [stdout] --> src/facade.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | struct PopcornPopper; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `on` [INFO] [stdout] --> src/facade.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `off` [INFO] [stdout] --> src/facade.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `pop` [INFO] [stdout] --> src/facade.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | fn pop(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `HomeTheaterFacade` [INFO] [stdout] --> src/facade.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | struct HomeTheaterFacade { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/facade.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `watch_movie` [INFO] [stdout] --> src/facade.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | fn watch_movie(&mut self, movie: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `end_movie` [INFO] [stdout] --> src/facade.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | fn end_movie(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dough` [INFO] [stdout] --> src/factory_method.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | dough: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sauce` [INFO] [stdout] --> src/factory_method.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | sauce: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dough` [INFO] [stdout] --> src/factory_method.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | dough: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sauce` [INFO] [stdout] --> src/factory_method.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | sauce: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | fn new(name: &str, description: &str, vegetarian: bool, price: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_item` [INFO] [stdout] --> src/iterator.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `menu_items` [INFO] [stdout] --> src/iterator.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | fn menu_items(&self) -> &[MenuItem] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `number_of_items` [INFO] [stdout] --> src/iterator.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | number_of_items: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_item` [INFO] [stdout] --> src/iterator.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Waitress` [INFO] [stdout] --> src/iterator.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | struct Waitress { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | fn new(pancake_house_menu: PancakeHouseMenu, diner_menu: DinerMenu) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `print_menu` [INFO] [stdout] --> src/iterator.rs:240:8 [INFO] [stdout] | [INFO] [stdout] 240 | fn print_menu(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `print` [INFO] [stdout] --> src/iterator.rs:248:4 [INFO] [stdout] | [INFO] [stdout] 248 | fn print<'a>(ite: impl IntoIterator>) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/composite.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn new(name: String, description: String, vegetarian: bool, price: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/composite.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | fn new(name: String, description: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Waitress` [INFO] [stdout] --> src/composite.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 159 | struct Waitress { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/composite.rs:164:8 [INFO] [stdout] | [INFO] [stdout] 164 | fn new(all_menus: Rc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `print_menu` [INFO] [stdout] --> src/composite.rs:167:8 [INFO] [stdout] | [INFO] [stdout] 167 | fn print_menu(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/state.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | fn new(number_gumballs: usize) -> Rc> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `insert_quarter` [INFO] [stdout] --> src/state.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | fn insert_quarter(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `eject_quarter` [INFO] [stdout] --> src/state.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn eject_quarter(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `turn_crank` [INFO] [stdout] --> src/state.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn turn_crank(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/state.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/state.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 145 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/state.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `gumball_machine` [INFO] [stdout] --> src/state.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | gumball_machine: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/state.rs:216:8 [INFO] [stdout] | [INFO] [stdout] 216 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/composite.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | self.all_menus.print(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.12s [INFO] running `Command { std: "docker" "inspect" "59891cd3da0a5e236a532231676c7dcdefda25217d4697cd8c1f23268828619d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59891cd3da0a5e236a532231676c7dcdefda25217d4697cd8c1f23268828619d", kill_on_drop: false }` [INFO] [stdout] 59891cd3da0a5e236a532231676c7dcdefda25217d4697cd8c1f23268828619d