[INFO] cloning repository https://github.com/KrongkaewPon/design-patterns [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KrongkaewPon/design-patterns" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKrongkaewPon%2Fdesign-patterns", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKrongkaewPon%2Fdesign-patterns'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ac3ec2e407955507de3fae69ce45cd7840886081 [INFO] checking KrongkaewPon/design-patterns against try#29194e8f603400afdb2f86c9418e9fccb1628ea0 for pr-135331-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKrongkaewPon%2Fdesign-patterns" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KrongkaewPon/design-patterns [INFO] finished tweaking git repo https://github.com/KrongkaewPon/design-patterns [INFO] tweaked toml for git repo https://github.com/KrongkaewPon/design-patterns written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KrongkaewPon/design-patterns on toolchain 29194e8f603400afdb2f86c9418e9fccb1628ea0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KrongkaewPon/design-patterns 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" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2f7cee0e32bf0731ee99f25332ba61c905f16801d3c7aa72cab351cc2de279e2 [INFO] running `Command { std: "docker" "start" "-a" "2f7cee0e32bf0731ee99f25332ba61c905f16801d3c7aa72cab351cc2de279e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2f7cee0e32bf0731ee99f25332ba61c905f16801d3c7aa72cab351cc2de279e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f7cee0e32bf0731ee99f25332ba61c905f16801d3c7aa72cab351cc2de279e2", kill_on_drop: false }` [INFO] [stdout] 2f7cee0e32bf0731ee99f25332ba61c905f16801d3c7aa72cab351cc2de279e2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+29194e8f603400afdb2f86c9418e9fccb1628ea0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0f19f4aec669d7eeb0c8a6b2c09f020d0fa9b8f1bb41e4a7bd115d5675de48b [INFO] running `Command { std: "docker" "start" "-a" "a0f19f4aec669d7eeb0c8a6b2c09f020d0fa9b8f1bb41e4a7bd115d5675de48b", kill_on_drop: false }` [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Checking design_patterns v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `quack` should have an upper camel case name [INFO] [stdout] --> examples/ch1_new_5.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | quack(Quack), [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Quack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `squeak` should have an upper camel case name [INFO] [stdout] --> examples/ch1_new_5.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | squeak(Squeak), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Squeak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DuckTrait` is never used [INFO] [stdout] --> examples/ch1_new_5.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait DuckTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `squeak` is never constructed [INFO] [stdout] --> examples/ch1_new_5.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum QuackType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 25 | quack(Quack), [INFO] [stdout] 26 | squeak(Squeak), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Flyable` is never used [INFO] [stdout] --> examples/ch1_new_5.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | trait Flyable { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::Ref` [INFO] [stdout] --> examples/ch2_2_rc.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{cell::Ref, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bpm` [INFO] [stdout] --> examples/ch12_beat.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | fn set_bpm(&mut self, bpm: i32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bpm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `off` is never used [INFO] [stdout] --> examples/ch12_beat.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 1 | trait BeatModelTrait { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] 2 | fn on(&mut self); [INFO] [stdout] 3 | fn off(&mut self); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stop` and `set_bpm` are never used [INFO] [stdout] --> examples/ch12_beat.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 56 | trait ControllerTrait { [INFO] [stdout] | --------------- methods in this trait [INFO] [stdout] 57 | fn start(&self, model: &mut BeatModel); [INFO] [stdout] 58 | fn stop(&self); [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn set_bpm(&mut self, bpm: i32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HouseBlend` is never constructed [INFO] [stdout] --> examples/ch3.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct HouseBlend; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SOLD_OUT` should have an upper camel case name [INFO] [stdout] --> examples/ch10_1.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | SOLD_OUT, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `SoldOut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NO_QUARTER` should have an upper camel case name [INFO] [stdout] --> examples/ch10_1.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | NO_QUARTER, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `NoQuarter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HAS_QUARTER` should have an upper camel case name [INFO] [stdout] --> examples/ch10_1.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | HAS_QUARTER, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `HasQuarter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `quack` should have an upper camel case name [INFO] [stdout] --> examples/ch1_new_4.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | quack(Quack), [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Quack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `squeak` should have an upper camel case name [INFO] [stdout] --> examples/ch1_new_4.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | squeak(Squeak), [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Squeak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp` [INFO] [stdout] --> examples/ch2_1.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_temp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `humidity` [INFO] [stdout] --> examples/ch2_1.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_humidity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressure` [INFO] [stdout] --> examples/ch2_1.rs:24:48 [INFO] [stdout] | [INFO] [stdout] 24 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `temp` [INFO] [stdout] --> examples/ch2_1.rs:34:22 [INFO] [stdout] | [INFO] [stdout] 34 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_temp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `humidity` [INFO] [stdout] --> examples/ch2_1.rs:34:33 [INFO] [stdout] | [INFO] [stdout] 34 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_humidity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressure` [INFO] [stdout] --> examples/ch2_1.rs:34:48 [INFO] [stdout] | [INFO] [stdout] 34 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressure` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressure` [INFO] [stdout] --> examples/ch2_2_rc.rs:99:59 [INFO] [stdout] | [INFO] [stdout] 99 | fn update(&mut self, temperature: f64, humidity: f64, pressure: f64) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressure` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CurrentConditionsDisplay` is never constructed [INFO] [stdout] --> examples/ch2_1.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct CurrentConditionsDisplay { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> examples/ch2_1.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl CurrentConditionsDisplay { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] 24 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatisticsDisplay` is never constructed [INFO] [stdout] --> examples/ch2_1.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct StatisticsDisplay { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> examples/ch2_1.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 33 | impl StatisticsDisplay { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 34 | fn update(&self, temp: f64, humidity: f64, pressure: f64) {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `humidity` [INFO] [stdout] --> examples/ch2_2_rc.rs:137:44 [INFO] [stdout] | [INFO] [stdout] 137 | fn update(&mut self, temperature: f64, humidity: f64, pressure: f64) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_humidity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `off` is never used [INFO] [stdout] --> examples/ch5_1.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 2 | impl Light { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 6 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> examples/ch5_1.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl GarageDoor { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | fn close(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_conditions_display` [INFO] [stdout] --> examples/ch2_2_rc.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let current_conditions_display = CurrentConditionsDisplay::new(weather_data.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_conditions_display` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pressure` [INFO] [stdout] --> examples/ch2_3_weak.rs:103:59 [INFO] [stdout] | [INFO] [stdout] 103 | fn update(&mut self, temperature: f64, humidity: f64, pressure: f64) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pressure` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weather_data` is never read [INFO] [stdout] --> examples/ch2_2_rc.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 68 | struct CurrentConditionsDisplay { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 71 | weather_data: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `DuckTrait` is never used [INFO] [stdout] --> examples/ch1_new_4.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait DuckTrait { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `squeak` is never constructed [INFO] [stdout] --> examples/ch1_new_4.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 24 | enum QuackType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 25 | quack(Quack), [INFO] [stdout] 26 | squeak(Squeak), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `humidity` [INFO] [stdout] --> examples/ch2_3_weak.rs:144:44 [INFO] [stdout] | [INFO] [stdout] 144 | fn update(&mut self, temperature: f64, humidity: f64, pressure: f64) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_humidity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_display` [INFO] [stdout] --> examples/ch2_3_weak.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let static_display = StatisticsDisplay::new(weak.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_display` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weather_data` is never read [INFO] [stdout] --> examples/ch2_3_weak.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | struct CurrentConditionsDisplay { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 72 | weather_data: Weak>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weather_data` is never read [INFO] [stdout] --> examples/ch2_3_weak.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 110 | struct StatisticsDisplay { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 113 | weather_data: Weak>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SGCrawlerParameter` is never constructed [INFO] [stdout] --> examples/bow.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct SGCrawlerParameter {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `weather_data` is never read [INFO] [stdout] --> examples/ch2_2_rc.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 106 | struct StatisticsDisplay { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 109 | weather_data: Rc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> examples/ch6_2.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> examples/ch6_2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::Ref` [INFO] [stdout] --> examples/ch6_2.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{cell::Ref, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `vegetarian` is never read [INFO] [stdout] --> examples/ch9_1.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | struct MenuItem { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | vegetarian: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MenuItem` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_vegetarian` is never used [INFO] [stdout] --> examples/ch9_1.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl MenuItem { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | fn is_vegetarian(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:64:30 [INFO] [stdout] | [INFO] [stdout] 64 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_3.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_3.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 12 | trait State { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 13 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine); [INFO] [stdout] 14 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_3.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 105 | impl GumballMachine { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 141 | fn eject_quarter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> examples/ch10_4.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> examples/ch10_4.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Hardback` is never constructed [INFO] [stdout] --> examples/ch8.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | enum BookFormat { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 4 | Paperback, [INFO] [stdout] 5 | Hardback, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `format` is never read [INFO] [stdout] --> examples/ch8.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 9 | struct Book { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 10 | isbn: i32, [INFO] [stdout] 11 | format: BookFormat, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:24:30 [INFO] [stdout] | [INFO] [stdout] 24 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:53:26 [INFO] [stdout] | [INFO] [stdout] 53 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:56:24 [INFO] [stdout] | [INFO] [stdout] 56 | fn dispense(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:65:30 [INFO] [stdout] | [INFO] [stdout] 65 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:71:26 [INFO] [stdout] | [INFO] [stdout] 71 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | fn dispense(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_4.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | fn dispense(&self, gumball_machine: &mut GumballMachine) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_4.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 13 | trait State: Debug { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 14 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) -> Box; [INFO] [stdout] 15 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_4.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 113 | impl GumballApplication { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 128 | fn eject_quarter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute` is never used [INFO] [stdout] --> examples/ch10_4.rs:137:4 [INFO] [stdout] | [INFO] [stdout] 137 | fn execute(application: GumballApplication, button: &str) -> GumballApplication { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> examples/ch1_3.rs:125:23 [INFO] [stdout] | [INFO] [stdout] 125 | fly_behavior: FlyWithWings, [INFO] [stdout] | ^^^^^^^^^^^^ expected `Box`, found `FlyWithWings` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn FlyBehavior + 'static)>` [INFO] [stdout] found struct `FlyWithWings` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] help: store this in the heap by calling `Box::new` [INFO] [stdout] | [INFO] [stdout] 125 | fly_behavior: Box::new(FlyWithWings), [INFO] [stdout] | +++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> examples/ch1_3.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | quack_behavior: Quack, [INFO] [stdout] | ^^^^^ expected `Box`, found `Quack` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn QuackBehavior + 'static)>` [INFO] [stdout] found struct `Quack` [INFO] [stdout] = note: for more on the distinction between the stack and the heap, read https://doc.rust-lang.org/book/ch15-01-box.html, https://doc.rust-lang.org/rust-by-example/std/box.html, and https://doc.rust-lang.org/std/boxed/index.html [INFO] [stdout] help: store this in the heap by calling `Box::new` [INFO] [stdout] | [INFO] [stdout] 126 | quack_behavior: Box::new(Quack), [INFO] [stdout] | +++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `design_patterns` (example "ch1_3") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: struct `GarageDoor` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | struct GarageDoor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `up`, and `down` are never used [INFO] [stdout] --> examples/ch6_2.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 28 | impl GarageDoor { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 29 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn up(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn down(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stereo` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Stereo { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `on`, `off`, `set_cd`, and `set_volume` are never used [INFO] [stdout] --> examples/ch6_2.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl Stereo { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 46 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn on(&self) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn off(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn set_cd(&self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn set_volume(&mut self, volume: i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `speed` is never read [INFO] [stdout] --> examples/ch6_2.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 67 | struct CeilingFan { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 68 | speed: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CeilingFan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GarageDoorUpCommand` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 169 | struct GarageDoorUpCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> examples/ch6_2.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 173 | impl GarageDoorUpCommand { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 174 | fn new(garage_door: GarageDoor) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GarageDoorDownCommand` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:189:8 [INFO] [stdout] | [INFO] [stdout] 189 | struct GarageDoorDownCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> examples/ch6_2.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 193 | impl GarageDoorDownCommand { [INFO] [stdout] | -------------------------- associated function in this implementation [INFO] [stdout] 194 | fn new(garage_door: GarageDoor) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StereoOnWithCDCommand` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | struct StereoOnWithCDCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> examples/ch6_2.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 213 | impl StereoOnWithCDCommand { [INFO] [stdout] | -------------------------- associated function in this implementation [INFO] [stdout] 214 | fn new(stereo: Stereo) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StereoOffCommand` is never constructed [INFO] [stdout] --> examples/ch6_2.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | struct StereoOffCommand { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> examples/ch6_2.rs:236:8 [INFO] [stdout] | [INFO] [stdout] 235 | impl StereoOffCommand { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 236 | fn new(stereo: Stereo) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_display` [INFO] [stdout] --> examples/ch2_4_weak_pull.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | let static_display = StatisticsDisplay::new(weak.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_display` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NYStyleCheesePizza` is never constructed [INFO] [stdout] --> examples/ch4_2.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct NYStyleCheesePizza {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_dough`, `create_sauce`, and `create_cheese` are never used [INFO] [stdout] --> examples/ch4_2.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 84 | trait PizzaIngredientFactory { [INFO] [stdout] | ---------------------- methods in this trait [INFO] [stdout] 85 | fn create_dough(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 86 | fn create_sauce(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 87 | fn create_cheese(&self) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Dough` is never used [INFO] [stdout] --> examples/ch4_2.rs:90:7 [INFO] [stdout] | [INFO] [stdout] 90 | trait Dough {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThinCrustDough` is never constructed [INFO] [stdout] --> examples/ch4_2.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct ThinCrustDough {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Sauce` is never used [INFO] [stdout] --> examples/ch4_2.rs:94:7 [INFO] [stdout] | [INFO] [stdout] 94 | trait Sauce {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarinaraSauce` is never constructed [INFO] [stdout] --> examples/ch4_2.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | struct MarinaraSauce {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Cheese` is never used [INFO] [stdout] --> examples/ch4_2.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | trait Cheese {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReggianoCheese` is never constructed [INFO] [stdout] --> examples/ch4_2.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | struct ReggianoCheese {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ingredient_factory` is never read [INFO] [stdout] --> examples/ch4_2.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 115 | struct CheesePizza { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 116 | ingredient_factory: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PancakeHouseMenu` is never constructed [INFO] [stdout] --> examples/ch9_2_iter.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | struct PancakeHouseMenu { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_item`, and `get_menu_items` are never used [INFO] [stdout] --> examples/ch9_2_iter.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 90 | impl PancakeHouseMenu { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 91 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | fn add_item(&mut self, name: String, description: String, vegetarian: bool, price: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn get_menu_items(&self) -> &[MenuItem] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DinerMenu` is never constructed [INFO] [stdout] --> examples/ch9_2_iter.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | struct DinerMenu { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_item`, and `get_menu_items` are never used [INFO] [stdout] --> examples/ch9_2_iter.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 132 | impl DinerMenu { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 133 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | fn add_item(&mut self, name: String, description: String, vegetarian: bool, price: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn get_menu_items(&self) -> &[MenuItem] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_menu_items` is never used [INFO] [stdout] --> examples/ch9_2_iter.rs:186:4 [INFO] [stdout] | [INFO] [stdout] 186 | fn print_menu_items(menu_items: &[MenuItem]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Duck` is never used [INFO] [stdout] --> examples/ch12_duck.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | trait Duck { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Flyable` is never used [INFO] [stdout] --> examples/ch12_duck.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | trait Flyable { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:49:29 [INFO] [stdout] | [INFO] [stdout] 49 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:64:30 [INFO] [stdout] | [INFO] [stdout] 64 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:73:24 [INFO] [stdout] | [INFO] [stdout] 73 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:85:29 [INFO] [stdout] | [INFO] [stdout] 85 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:88:26 [INFO] [stdout] | [INFO] [stdout] 88 | fn turn_crank(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `gumball_machine` [INFO] [stdout] --> examples/ch10_2.rs:91:24 [INFO] [stdout] | [INFO] [stdout] 91 | fn dispense(&self, gumball_machine: &mut GumballMachine) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gumball_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_2.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 12 | trait State { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] 13 | fn insert_quarter(&self, gumball_machine: &mut GumballMachine); [INFO] [stdout] 14 | fn eject_quarter(&self, gumball_machine: &mut GumballMachine); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `eject_quarter` is never used [INFO] [stdout] --> examples/ch10_2.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 104 | impl GumballMachine { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | fn eject_quarter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a0f19f4aec669d7eeb0c8a6b2c09f020d0fa9b8f1bb41e4a7bd115d5675de48b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0f19f4aec669d7eeb0c8a6b2c09f020d0fa9b8f1bb41e4a7bd115d5675de48b", kill_on_drop: false }` [INFO] [stdout] a0f19f4aec669d7eeb0c8a6b2c09f020d0fa9b8f1bb41e4a7bd115d5675de48b