[INFO] updating cached repository https://github.com/frostRed/head_first_design_patterns_rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 779447adaf64ad62404312d51b8363b8602c3552 [INFO] checking frostRed/head_first_design_patterns_rust against master#45d050cde277b22a755847338f2acc2c7b834141 for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FfrostRed%2Fhead_first_design_patterns_rust" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/frostRed/head_first_design_patterns_rust on toolchain 45d050cde277b22a755847338f2acc2c7b834141 [INFO] running `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "read-manifest" "--manifest-path" "Cargo.toml"` [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-5/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 `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8565942b3080c5222dda0beeb5d92e7caa12360425a3f0d9b66f8dbd274f36e3 [INFO] running `"docker" "start" "-a" "8565942b3080c5222dda0beeb5d92e7caa12360425a3f0d9b66f8dbd274f36e3"` [INFO] [stderr] Checking lazy_static v1.2.0 [INFO] [stderr] Checking head_first_design_patterns v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unnecessary braces around block return value [INFO] [stderr] --> src/singleton.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub static ref C: RwLock = { RwLock::new(ChocolateBoiler::new()) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:19:48 [INFO] [stderr] | [INFO] [stderr] 19 | fn quack_behavior(&self) -> Rc>>; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:24:46 [INFO] [stderr] | [INFO] [stderr] 24 | fn fly_behavior(&self) -> Rc>>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:29:50 [INFO] [stderr] | [INFO] [stderr] 29 | fn set_fly_behavior(&self, fly_behavior: Box) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:83:36 [INFO] [stderr] | [INFO] [stderr] 83 | quack_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:84:34 [INFO] [stderr] | [INFO] [stderr] 84 | fly_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:90:73 [INFO] [stderr] | [INFO] [stderr] 90 | let fly = Rc::new(RefCell::new(Box::new(FlyWithWings {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:91:68 [INFO] [stderr] | [INFO] [stderr] 91 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:103:48 [INFO] [stderr] | [INFO] [stderr] 103 | fn quack_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:106:46 [INFO] [stderr] | [INFO] [stderr] 106 | fn fly_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | quack_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:114:34 [INFO] [stderr] | [INFO] [stderr] 114 | fly_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:119:69 [INFO] [stderr] | [INFO] [stderr] 119 | let fly = Rc::new(RefCell::new(Box::new(FlyNoWay {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:120:68 [INFO] [stderr] | [INFO] [stderr] 120 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:131:48 [INFO] [stderr] | [INFO] [stderr] 131 | fn quack_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:134:46 [INFO] [stderr] | [INFO] [stderr] 134 | fn fly_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/template_method.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Beverage`, `DarkRost`, `Espresso`, `HouseBlend`, `Mocha`, `Soy`, `Whip` [INFO] [stderr] --> src/lib.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | use crate::decorator::{Beverage, DarkRost, Espresso, HouseBlend, Mocha, Soy, Whip}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChicagoPizzaStore`, `NYPizzaStore`, `PizzaStore`, `Pizza` [INFO] [stderr] --> src/lib.rs:20:29 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::factory_method::{ChicagoPizzaStore, NYPizzaStore, Pizza, PizzaStore}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CurrentConditionsDisplay`, `Subject`, `WeatherDate` [INFO] [stderr] --> src/lib.rs:21:23 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::observer::{CurrentConditionsDisplay, Subject, WeatherDate}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `C`, `ChocolateBoiler` [INFO] [stderr] --> src/lib.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | use crate::singleton::{ChocolateBoiler, C}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duck`, `FlyBehavior`, `FlyRocketPowered`, `MallardDuck`, `ModelDuck` [INFO] [stderr] --> src/lib.rs:23:23 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::strategy::{Duck, FlyBehavior, FlyRocketPowered, MallardDuck, ModelDuck}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary braces around block return value [INFO] [stderr] --> src/singleton.rs:50:49 [INFO] [stderr] | [INFO] [stderr] 50 | pub static ref C: RwLock = { RwLock::new(ChocolateBoiler::new()) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_braces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:19:48 [INFO] [stderr] | [INFO] [stderr] 19 | fn quack_behavior(&self) -> Rc>>; [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:24:46 [INFO] [stderr] | [INFO] [stderr] 24 | fn fly_behavior(&self) -> Rc>>; [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:29:50 [INFO] [stderr] | [INFO] [stderr] 29 | fn set_fly_behavior(&self, fly_behavior: Box) { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:83:36 [INFO] [stderr] | [INFO] [stderr] 83 | quack_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:84:34 [INFO] [stderr] | [INFO] [stderr] 84 | fly_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:90:73 [INFO] [stderr] | [INFO] [stderr] 90 | let fly = Rc::new(RefCell::new(Box::new(FlyWithWings {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:91:68 [INFO] [stderr] | [INFO] [stderr] 91 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:103:48 [INFO] [stderr] | [INFO] [stderr] 103 | fn quack_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:106:46 [INFO] [stderr] | [INFO] [stderr] 106 | fn fly_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | quack_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:114:34 [INFO] [stderr] | [INFO] [stderr] 114 | fly_behavior: Rc>>, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:119:69 [INFO] [stderr] | [INFO] [stderr] 119 | let fly = Rc::new(RefCell::new(Box::new(FlyNoWay {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:120:68 [INFO] [stderr] | [INFO] [stderr] 120 | let quack = Rc::new(RefCell::new(Box::new(Quack {}) as Box)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:131:48 [INFO] [stderr] | [INFO] [stderr] 131 | fn quack_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn QuackBehavior` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/strategy.rs:134:46 [INFO] [stderr] | [INFO] [stderr] 134 | fn fly_behavior(&self) -> Rc>> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn FlyBehavior` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [INFO] [stderr] --> src/template_method.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Read}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ChocolateBoiler` [INFO] [stderr] --> src/lib.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | use crate::singleton::{ChocolateBoiler, C}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FlyBehavior` [INFO] [stderr] --> src/lib.rs:23:29 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::strategy::{Duck, FlyBehavior, FlyRocketPowered, MallardDuck, ModelDuck}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/command.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | for i in 0..7 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dvd` [INFO] [stderr] --> src/facade.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dvd` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:27:23 [INFO] [stderr] | [INFO] [stderr] 27 | fn add(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/composite.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | fn child(&self, i: usize) -> Result, MenuComponentErr> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/composite.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(ref mut v) = self.menu_components { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Pizza` [INFO] [stderr] --> src/lib.rs:20:62 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::factory_method::{ChicagoPizzaStore, NYPizzaStore, Pizza, PizzaStore}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/command.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | for i in 0..7 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dvd` [INFO] [stderr] --> src/facade.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_dvd` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:27:23 [INFO] [stderr] | [INFO] [stderr] 27 | fn add(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/composite.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | fn child(&self, i: usize) -> Result, MenuComponentErr> { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/composite.rs:128:21 [INFO] [stderr] | [INFO] [stderr] 128 | if let Some(ref mut v) = self.menu_components { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `menu_component` [INFO] [stderr] --> src/composite.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | fn remove(&mut self, menu_component: Rc) -> Result<(), MenuComponentErr> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_menu_component` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/state.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut g = GumballMachine { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `weather_data` [INFO] [stderr] --> src/observer.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | weather_data: std::rc::Weak>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/command.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | fn new(name: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/command.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | fn new(name: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `undo_command` [INFO] [stderr] --> src/command.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | undo_command: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/command.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_command` [INFO] [stderr] --> src/command.rs:223:5 [INFO] [stderr] | [INFO] [stderr] 223 | / pub fn set_command( [INFO] [stderr] 224 | | &mut self, [INFO] [stderr] 225 | | slot: usize, [INFO] [stderr] 226 | | on_command: Box, [INFO] [stderr] ... | [INFO] [stderr] 230 | | self.off_commands[slot] = off_command; [INFO] [stderr] 231 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on_button_was_pushed` [INFO] [stderr] --> src/command.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | pub fn on_button_was_pushed(&mut self, slot: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `off_button_was_pushed` [INFO] [stderr] --> src/command.rs:237:5 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn off_button_was_pushed(&mut self, slot: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `undo_button_was_pushed` [INFO] [stderr] --> src/command.rs:241:5 [INFO] [stderr] | [INFO] [stderr] 241 | pub fn undo_button_was_pushed(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Amplifier` [INFO] [stderr] --> src/facade.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | struct Amplifier; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on` [INFO] [stderr] --> src/facade.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | fn on(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_dvd` [INFO] [stderr] --> src/facade.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | fn set_dvd(&self, dvd: &DvdPlayer) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_surround_sound` [INFO] [stderr] --> src/facade.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | fn set_surround_sound(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_volume` [INFO] [stderr] --> src/facade.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | fn set_volume(&self, volume: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `off` [INFO] [stderr] --> src/facade.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn off(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Tuner` [INFO] [stderr] --> src/facade.rs:28:8 [INFO] [stderr] | [INFO] [stderr] 28 | struct Tuner; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `DvdPlayer` [INFO] [stderr] --> src/facade.rs:29:8 [INFO] [stderr] | [INFO] [stderr] 29 | struct DvdPlayer { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on` [INFO] [stderr] --> src/facade.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn on(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stop` [INFO] [stderr] --> src/facade.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | fn stop(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play` [INFO] [stderr] --> src/facade.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn play(&mut self, movie: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `off` [INFO] [stderr] --> src/facade.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | fn off(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eject` [INFO] [stderr] --> src/facade.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | fn eject(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `CdPlayer` [INFO] [stderr] --> src/facade.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | struct CdPlayer; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Projector` [INFO] [stderr] --> src/facade.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | struct Projector; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on` [INFO] [stderr] --> src/facade.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | fn on(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `wide_screen_mode` [INFO] [stderr] --> src/facade.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn wide_screen_mode(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `off` [INFO] [stderr] --> src/facade.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | fn off(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TheaterLights` [INFO] [stderr] --> src/facade.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | struct TheaterLights; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dim` [INFO] [stderr] --> src/facade.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | fn dim(&self, num: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on` [INFO] [stderr] --> src/facade.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn on(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Screen` [INFO] [stderr] --> src/facade.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | struct Screen; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `down` [INFO] [stderr] --> src/facade.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | fn down(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `up` [INFO] [stderr] --> src/facade.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn up(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PopcornPopper` [INFO] [stderr] --> src/facade.rs:81:8 [INFO] [stderr] | [INFO] [stderr] 81 | struct PopcornPopper; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `on` [INFO] [stderr] --> src/facade.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | fn on(&self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `off` [INFO] [stderr] --> src/facade.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | fn off(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop` [INFO] [stderr] --> src/facade.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn pop(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `HomeTheaterFacade` [INFO] [stderr] --> src/facade.rs:94:8 [INFO] [stderr] | [INFO] [stderr] 94 | struct HomeTheaterFacade { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/facade.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | / fn new( [INFO] [stderr] 106 | | amp: Amplifier, [INFO] [stderr] 107 | | tuner: Tuner, [INFO] [stderr] 108 | | dvd: DvdPlayer, [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `watch_movie` [INFO] [stderr] --> src/facade.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | fn watch_movie(&mut self, movie: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `end_movie` [INFO] [stderr] --> src/facade.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | fn end_movie(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dough` [INFO] [stderr] --> src/factory_method.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | dough: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sauce` [INFO] [stderr] --> src/factory_method.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | sauce: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dough` [INFO] [stderr] --> src/factory_method.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | dough: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sauce` [INFO] [stderr] --> src/factory_method.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | sauce: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/iterator.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | fn new(name: &str, description: &str, vegetarian: bool, price: f64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/iterator.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_item` [INFO] [stderr] --> src/iterator.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `menu_items` [INFO] [stderr] --> src/iterator.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | fn menu_items(&self) -> &[MenuItem] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `number_of_items` [INFO] [stderr] --> src/iterator.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | number_of_items: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/iterator.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_item` [INFO] [stderr] --> src/iterator.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Waitress` [INFO] [stderr] --> src/iterator.rs:228:8 [INFO] [stderr] | [INFO] [stderr] 228 | struct Waitress { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/iterator.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | fn new(pancake_house_menu: PancakeHouseMenu, diner_menu: DinerMenu) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_menu` [INFO] [stderr] --> src/iterator.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | fn print_menu(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print` [INFO] [stderr] --> src/iterator.rs:248:4 [INFO] [stderr] | [INFO] [stderr] 248 | fn print<'a>(ite: impl IntoIterator>) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/composite.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | fn new(name: String, description: String, vegetarian: bool, price: f64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/composite.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | fn new(name: String, description: String) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Waitress` [INFO] [stderr] --> src/composite.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | struct Waitress { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/composite.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | fn new(all_menus: Rc) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_menu` [INFO] [stderr] --> src/composite.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | fn print_menu(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/state.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | fn new(number_gumballs: usize) -> Rc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert_quarter` [INFO] [stderr] --> src/state.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | fn insert_quarter(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eject_quarter` [INFO] [stderr] --> src/state.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | fn eject_quarter(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `turn_crank` [INFO] [stderr] --> src/state.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | fn turn_crank(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/state.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/state.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/state.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `gumball_machine` [INFO] [stderr] --> src/state.rs:213:5 [INFO] [stderr] | [INFO] [stderr] 213 | gumball_machine: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/state.rs:216:5 [INFO] [stderr] | [INFO] [stderr] 216 | fn new(gumball_machine: Option>>) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/composite.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | self.all_menus.print(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 101 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/state.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut g = GumballMachine { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `weather_data` [INFO] [stderr] --> src/observer.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | weather_data: std::rc::Weak>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `tuner` [INFO] [stderr] --> src/facade.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | tuner: Tuner, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `cd` [INFO] [stderr] --> src/facade.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | cd: CdPlayer, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dough` [INFO] [stderr] --> src/factory_method.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | dough: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sauce` [INFO] [stderr] --> src/factory_method.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | sauce: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `dough` [INFO] [stderr] --> src/factory_method.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | dough: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sauce` [INFO] [stderr] --> src/factory_method.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | sauce: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_item` [INFO] [stderr] --> src/iterator.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `menu_items` [INFO] [stderr] --> src/iterator.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | fn menu_items(&self) -> &[MenuItem] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `number_of_items` [INFO] [stderr] --> src/iterator.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | number_of_items: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_item` [INFO] [stderr] --> src/iterator.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn add_item(&mut self, name: &str, description: &str, vegetarian: bool, price: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Waitress` [INFO] [stderr] --> src/composite.rs:159:8 [INFO] [stderr] | [INFO] [stderr] 159 | struct Waitress { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/composite.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | fn new(all_menus: Rc) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_menu` [INFO] [stderr] --> src/composite.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | fn print_menu(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `eject_quarter` [INFO] [stderr] --> src/state.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | fn eject_quarter(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `turn_crank` [INFO] [stderr] --> src/state.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | fn turn_crank(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `gumball_machine` [INFO] [stderr] --> src/state.rs:213:5 [INFO] [stderr] | [INFO] [stderr] 213 | gumball_machine: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/composite.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | self.all_menus.print(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 46 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.47s [INFO] running `"docker" "inspect" "8565942b3080c5222dda0beeb5d92e7caa12360425a3f0d9b66f8dbd274f36e3"` [INFO] running `"docker" "rm" "-f" "8565942b3080c5222dda0beeb5d92e7caa12360425a3f0d9b66f8dbd274f36e3"` [INFO] [stdout] 8565942b3080c5222dda0beeb5d92e7caa12360425a3f0d9b66f8dbd274f36e3