[INFO] cloning repository https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkraam02%2FSmart-Home-Simulation-using-RabbitMQ---Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkraam02%2FSmart-Home-Simulation-using-RabbitMQ---Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 57c2479cf83e1e8c7a58add48134159d7189417f
[INFO] building Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkraam02%2FSmart-Home-Simulation-using-RabbitMQ---Rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust
[INFO] finished tweaking git repo https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust
[INFO] tweaked toml for git repo https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ikraam02/Smart-Home-Simulation-using-RabbitMQ---Rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded is-terminal v0.4.12
[INFO] [stderr]   Downloaded plotters-backend v0.3.6
[INFO] [stderr]   Downloaded clap_lex v0.7.1
[INFO] [stderr]   Downloaded plotters-svg v0.3.6
[INFO] [stderr]   Downloaded version_check v0.1.5
[INFO] [stderr]   Downloaded matches v0.1.10
[INFO] [stderr]   Downloaded scheduled-thread-pool v0.2.7
[INFO] [stderr]   Downloaded cookie-factory v0.2.4
[INFO] [stderr]   Downloaded percent-encoding v1.0.1
[INFO] [stderr]   Downloaded amq-protocol-types v1.2.0
[INFO] [stderr]   Downloaded net2 v0.2.39
[INFO] [stderr]   Downloaded pest_generator v2.7.10
[INFO] [stderr]   Downloaded ucd-trie v0.1.6
[INFO] [stderr]   Downloaded pest_meta v2.7.10
[INFO] [stderr]   Downloaded url v1.7.2
[INFO] [stderr]   Downloaded pest v2.7.10
[INFO] [stderr]   Downloaded num-format v0.4.4
[INFO] [stderr]   Downloaded url v2.5.0
[INFO] [stderr]   Downloaded clap_builder v4.5.6
[INFO] [stderr]   Downloaded plotters v0.3.6
[INFO] [stderr]   Downloaded cargo-lock v8.0.3
[INFO] [stderr]   Downloaded snafu v0.7.5
[INFO] [stderr]   Downloaded idna v0.1.5
[INFO] [stderr]   Downloaded nom v4.2.3
[INFO] [stderr]   Downloaded amiquip v0.4.2
[INFO] [stderr]   Downloaded prettytable-rs v0.10.0
[INFO] [stderr]   Downloaded handlebars v1.1.0
[INFO] [stderr]   Downloaded built v0.5.2
[INFO] [stderr]   Downloaded csv-core v0.1.11
[INFO] [stderr]   Downloaded terminal_size v0.1.17
[INFO] [stderr]   Downloaded bma-benchmark v0.0.24
[INFO] [stderr]   Downloaded clap v4.5.6
[INFO] [stderr]   Downloaded pest_derive v2.7.10
[INFO] [stderr]   Downloaded amq-protocol v1.4.0
[INFO] [stderr]   Downloaded mio-extras v2.0.6
[INFO] [stderr]   Downloaded snafu-derive v0.7.5
[INFO] [stderr]   Downloaded bma-benchmark-proc v0.0.18
[INFO] [stderr]   Downloaded colored v2.1.0
[INFO] [stderr]   Downloaded amq-protocol-codegen v1.4.0
[INFO] [stderr]   Downloaded input_buffer v0.5.0
[INFO] [stderr]   Downloaded csv v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bb496a512f7792bfcb337ee8901c7d052901a068506138cb9515c253fcc1760b
[INFO] running `Command { std: "docker" "start" "-a" "bb496a512f7792bfcb337ee8901c7d052901a068506138cb9515c253fcc1760b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bb496a512f7792bfcb337ee8901c7d052901a068506138cb9515c253fcc1760b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb496a512f7792bfcb337ee8901c7d052901a068506138cb9515c253fcc1760b", kill_on_drop: false }`
[INFO] [stdout] bb496a512f7792bfcb337ee8901c7d052901a068506138cb9515c253fcc1760b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 55b48d6fb7d7042ce4fc39ae9de7e62bb608776a6887dde34dc125273f1355c4
[INFO] running `Command { std: "docker" "start" "-a" "55b48d6fb7d7042ce4fc39ae9de7e62bb608776a6887dde34dc125273f1355c4", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling cookie-factory v0.2.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.23
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling net2 v0.2.39
[INFO] [stderr]    Compiling is-terminal v0.4.12
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling csv-core v0.1.11
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling anstyle v1.0.7
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling clap_lex v0.7.1
[INFO] [stderr]    Compiling plotters-backend v0.3.6
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling plotters-svg v0.3.6
[INFO] [stderr]    Compiling clap_builder v4.5.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling snafu-derive v0.7.5
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling unicode-width v0.1.13
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling pest v2.7.10
[INFO] [stderr]    Compiling input_buffer v0.5.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-format v0.4.4
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling snafu v0.7.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.6
[INFO] [stderr]    Compiling bma-benchmark-proc v0.0.18
[INFO] [stderr]    Compiling pest_meta v2.7.10
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling plotters v0.3.6
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling terminal_size v0.1.17
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling pest_generator v2.7.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.60
[INFO] [stderr]    Compiling oorandom v11.1.3
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling pest_derive v2.7.10
[INFO] [stderr]    Compiling csv v1.3.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling bma-benchmark v0.0.24
[INFO] [stderr]    Compiling handlebars v1.1.0
[INFO] [stderr]    Compiling amq-protocol-types v1.2.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling cargo-lock v8.0.3
[INFO] [stderr]    Compiling built v0.5.2
[INFO] [stderr]    Compiling amiquip v0.4.2
[INFO] [stderr]    Compiling amq-protocol-codegen v1.4.0
[INFO] [stderr]    Compiling amq-protocol v1.4.0
[INFO] [stderr]    Compiling smarthome v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ConsumerMessage`, `ConsumerOptions`, and `Exchange`
[INFO] [stdout]  --> src/rabbitmq_functions.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use amiquip::{Result,Connection,Exchange,Publish, 
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 5 |     QueueDeclareOptions, ConsumerOptions, ConsumerMessage, ExchangeDeclareOptions, ExchangeType, FieldTable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]  --> src/Subsystem1/UserInterface.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     thread::{self, sleep},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Subsystem2/light_simulation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scheduled_thread_pool::ScheduledThreadPool`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use scheduled_thread_pool::ScheduledThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Serialize,Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `error::Error`, and `sleep`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     thread::{self, sleep},
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 16 |     time::Duration,
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection`, `ConsumerMessage`, `ConsumerOptions`, `ExchangeDeclareOptions`, `ExchangeType`, `FieldTable`, `Publish`, `QueueDeclareOptions`, and `Result`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use amiquip::{Connection, ConsumerMessage, ConsumerOptions, ExchangeType, 
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 20 |     FieldTable, QueueDeclareOptions, Result, ExchangeDeclareOptions, Publish};
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     NaiveTime::from_hms(hour as u32, minute as u32, 0)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let light_intensities: Vec<f64> = rooms.iter().map(|room| {
[INFO] [stdout]    |                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let rooms = ["Laundry Room"];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `found` is assigned to, but never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut found: bool = false;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     found = true;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:75
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |                                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_input` is never used
[INFO] [stdout]   --> src/rabbitmq_functions.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_user_input(prompt: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationMessage` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NotificationMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SmartSwitch {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 36 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn turn_on(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LightSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct LightSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_brightness` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl LightSensor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 59 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn detect_brightness(&self, actual_brightness: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem1` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod Subsystem1;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem2` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod Subsystem2;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `UserInterface` should have a snake case name
[INFO] [stdout]  --> src/Subsystem1/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod UserInterface;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Exchange`
[INFO] [stdout]  --> src/bin/sender.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use amiquip::{Result, Connection, Exchange, Publish, QueueDeclareOptions, ExchangeDeclareOptions, ExchangeType, FieldTable};
[INFO] [stdout]   |                                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Subsystem2/light_simulation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scheduled_thread_pool::ScheduledThreadPool`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use scheduled_thread_pool::ScheduledThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Serialize,Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `error::Error`, and `sleep`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     thread::{self, sleep},
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 16 |     time::Duration,
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection`, `ConsumerMessage`, `ConsumerOptions`, `ExchangeDeclareOptions`, `ExchangeType`, `FieldTable`, `Publish`, `QueueDeclareOptions`, and `Result`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use amiquip::{Connection, ConsumerMessage, ConsumerOptions, ExchangeType, 
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 20 |     FieldTable, QueueDeclareOptions, Result, ExchangeDeclareOptions, Publish};
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     NaiveTime::from_hms(hour as u32, minute as u32, 0)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let light_intensities: Vec<f64> = rooms.iter().map(|room| {
[INFO] [stdout]    |                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let rooms = ["Laundry Room"];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `found` is assigned to, but never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut found: bool = false;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     found = true;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:75
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |                                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TemperatureSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct TemperatureSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_temperature` are never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TemperatureSensor {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 26 |     fn new(id: &str, room: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn detect_temperature(&self, actual_temperature: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AirConditioner` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct AirConditioner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fan` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Fan {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_temperature` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn simulation_of_clock_and_temperature() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_receiver` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn start_receiver(schedule: Arc<Mutex<String>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_notification` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn send_notification(notification: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationMessage` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NotificationMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SmartSwitch` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct SmartSwitch {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SmartSwitch {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 36 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn turn_on(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LightSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct LightSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_brightness` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl LightSensor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 59 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn detect_brightness(&self, actual_brightness: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn simulate_day(day: usize, is_rainy: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn get_current_time(half_hour: usize) -> NaiveTime {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_brightness` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn simulation_of_clock_and_brightness() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WashingMachine` is never constructed
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct WashingMachine {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl WashingMachine {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn turn_on(&mut self, cycle: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_washing_machine` is never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn simulation_of_clock_and_washing_machine() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_receiver` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn start_receiver(schedule: Arc<Mutex<String>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_notification` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn send_notification(notification: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem2` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Subsystem2;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem2`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "55b48d6fb7d7042ce4fc39ae9de7e62bb608776a6887dde34dc125273f1355c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55b48d6fb7d7042ce4fc39ae9de7e62bb608776a6887dde34dc125273f1355c4", kill_on_drop: false }`
[INFO] [stdout] 55b48d6fb7d7042ce4fc39ae9de7e62bb608776a6887dde34dc125273f1355c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56bddc701d5105f636b4ca6fbda05875cfb04229c6443b9152fded7d71d8cc3f
[INFO] running `Command { std: "docker" "start" "-a" "56bddc701d5105f636b4ca6fbda05875cfb04229c6443b9152fded7d71d8cc3f", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `ConsumerMessage`, `ConsumerOptions`, and `Exchange`
[INFO] [stdout]  --> src/rabbitmq_functions.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use amiquip::{Result,Connection,Exchange,Publish, 
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 5 |     QueueDeclareOptions, ConsumerOptions, ConsumerMessage, ExchangeDeclareOptions, ExchangeType, FieldTable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]  --> src/Subsystem1/UserInterface.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     thread::{self, sleep},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Subsystem2/light_simulation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scheduled_thread_pool::ScheduledThreadPool`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use scheduled_thread_pool::ScheduledThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Serialize,Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `error::Error`, and `sleep`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     thread::{self, sleep},
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 16 |     time::Duration,
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection`, `ConsumerMessage`, `ConsumerOptions`, `ExchangeDeclareOptions`, `ExchangeType`, `FieldTable`, `Publish`, `QueueDeclareOptions`, and `Result`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use amiquip::{Connection, ConsumerMessage, ConsumerOptions, ExchangeType, 
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 20 |     FieldTable, QueueDeclareOptions, Result, ExchangeDeclareOptions, Publish};
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     NaiveTime::from_hms(hour as u32, minute as u32, 0)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let light_intensities: Vec<f64> = rooms.iter().map(|room| {
[INFO] [stdout]    |                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let rooms = ["Laundry Room"];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `found` is assigned to, but never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut found: bool = false;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     found = true;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:75
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |                                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_input` is never used
[INFO] [stdout]   --> src/rabbitmq_functions.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_user_input(prompt: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationMessage` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NotificationMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SmartSwitch {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 36 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn turn_on(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LightSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct LightSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_brightness` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl LightSensor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 59 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn detect_brightness(&self, actual_brightness: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem1` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod Subsystem1;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling smarthome v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: module `Subsystem2` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod Subsystem2;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `UserInterface` should have a snake case name
[INFO] [stdout]  --> src/Subsystem1/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod UserInterface;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Exchange`
[INFO] [stdout]  --> src/bin/sender.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use amiquip::{Result, Connection, Exchange, Publish, QueueDeclareOptions, ExchangeDeclareOptions, ExchangeType, FieldTable};
[INFO] [stdout]   |                                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Subsystem2/light_simulation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scheduled_thread_pool::ScheduledThreadPool`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use scheduled_thread_pool::ScheduledThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Serialize,Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `error::Error`, and `sleep`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     thread::{self, sleep},
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 16 |     time::Duration,
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection`, `ConsumerMessage`, `ConsumerOptions`, `ExchangeDeclareOptions`, `ExchangeType`, `FieldTable`, `Publish`, `QueueDeclareOptions`, and `Result`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use amiquip::{Connection, ConsumerMessage, ConsumerOptions, ExchangeType, 
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 20 |     FieldTable, QueueDeclareOptions, Result, ExchangeDeclareOptions, Publish};
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConsumerMessage`, `ConsumerOptions`, and `Exchange`
[INFO] [stdout]  --> src/rabbitmq_functions.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use amiquip::{Result,Connection,Exchange,Publish, 
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 5 |     QueueDeclareOptions, ConsumerOptions, ConsumerMessage, ExchangeDeclareOptions, ExchangeType, FieldTable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]  --> src/Subsystem1/UserInterface.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     thread::{self, sleep},
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/Subsystem2/light_simulation.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scheduled_thread_pool::ScheduledThreadPool`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use scheduled_thread_pool::ScheduledThreadPool;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Serialize,Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `error::Error`, and `sleep`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     sync::{Arc, Mutex},
[INFO] [stdout]    |            ^^^  ^^^^^
[INFO] [stdout] 15 |     thread::{self, sleep},
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 16 |     time::Duration,
[INFO] [stdout] 17 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Connection`, `ConsumerMessage`, `ConsumerOptions`, `ExchangeDeclareOptions`, `ExchangeType`, `FieldTable`, `Publish`, `QueueDeclareOptions`, and `Result`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use amiquip::{Connection, ConsumerMessage, ConsumerOptions, ExchangeType, 
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 20 |     FieldTable, QueueDeclareOptions, Result, ExchangeDeclareOptions, Publish};
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::thread::{self, sleep};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     NaiveTime::from_hms(hour as u32, minute as u32, 0)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |             let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]     |                                   ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let light_intensities: Vec<f64> = rooms.iter().map(|room| {
[INFO] [stdout]    |                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |     NaiveTime::from_hms(hour as u32, minute as u32, 0)
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `Subsystem2::temperature_simulation::chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let time = NaiveTime::from_hms(hour as u32, minute as u32, 0);
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let rooms = ["Laundry Room"];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `found` is assigned to, but never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut found: bool = false;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     found = true;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:75
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |                                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TemperatureSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct TemperatureSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_temperature` are never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TemperatureSensor {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 26 |     fn new(id: &str, room: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn detect_temperature(&self, actual_temperature: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AirConditioner` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct AirConditioner {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fan` is never constructed
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | struct Fan {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/temperature_simulation.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_temperature` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn simulation_of_clock_and_temperature() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_receiver` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:222:8
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn start_receiver(schedule: Arc<Mutex<String>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_notification` is never used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:263:8
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub fn send_notification(notification: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationMessage` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NotificationMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SmartSwitch` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct SmartSwitch {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SmartSwitch {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 36 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn turn_on(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LightSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct LightSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_brightness` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl LightSensor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 59 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn detect_brightness(&self, actual_brightness: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn simulate_day(day: usize, is_rainy: bool) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:125:4
[INFO] [stdout]     |
[INFO] [stdout] 125 | fn get_current_time(half_hour: usize) -> NaiveTime {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_brightness` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn simulation_of_clock_and_brightness() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WashingMachine` is never constructed
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct WashingMachine {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl WashingMachine {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn turn_on(&mut self, cycle: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_day` is never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulation_of_clock_and_washing_machine` is never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub fn simulation_of_clock_and_washing_machine() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_receiver` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn start_receiver(schedule: Arc<Mutex<String>>) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_notification` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn send_notification(notification: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem2` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod Subsystem2;
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem2`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room`
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:86:61
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let light_intensities: Vec<f64> = rooms.iter().map(|room| {
[INFO] [stdout]    |                                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_room`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rooms`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let rooms = ["Laundry Room"];
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_rooms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `found` is assigned to, but never used
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mut found: bool = false;
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_found` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                     found = true;
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:45:75
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn simulate_day(day: usize, is_rainy: bool, schedule: Arc<Mutex<String>>, pool: Arc<ScheduledThreadPool>) {
[INFO] [stdout]    |                                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/Subsystem2/washing_machine.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_input` is never used
[INFO] [stdout]   --> src/rabbitmq_functions.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn get_user_input(prompt: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NotificationMessage` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NotificationMessage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, and `turn_off` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SmartSwitch {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 36 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn turn_on(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn turn_off(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LightSensor` is never constructed
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct LightSensor {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `detect_brightness` are never used
[INFO] [stdout]   --> src/Subsystem2/light_simulation.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl LightSensor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 59 |     fn new(id: &str) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn detect_brightness(&self, actual_brightness: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/light_simulation.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time` is never used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn parse_time(time_str: &str) -> Option<NaiveTime> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem1` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod Subsystem1;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Subsystem2` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod Subsystem2;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `subsystem2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `UserInterface` should have a snake case name
[INFO] [stdout]  --> src/Subsystem1/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod UserInterface;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `user_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/temperature_simulation.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/Subsystem2/washing_machine.rs:156:17
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 send_notification(&schedule);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let _ = send_notification(&schedule);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.55s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "56bddc701d5105f636b4ca6fbda05875cfb04229c6443b9152fded7d71d8cc3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56bddc701d5105f636b4ca6fbda05875cfb04229c6443b9152fded7d71d8cc3f", kill_on_drop: false }`
[INFO] [stdout] 56bddc701d5105f636b4ca6fbda05875cfb04229c6443b9152fded7d71d8cc3f
