[INFO] updating cached repository https://github.com/freefarmdata/rust_auto_farm_source [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/freefarmdata/rust_auto_farm_source [INFO] [stderr] f88cad1..254af00 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 254af00242eacf16542028baa92c7faebecf06cf [INFO] checking freefarmdata/rust_auto_farm_source against try#e922e6444795ab795fab1943288aee3d543699b8 for pr-66852 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreefarmdata%2Frust_auto_farm_source" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/freefarmdata/rust_auto_farm_source on toolchain e922e6444795ab795fab1943288aee3d543699b8 [INFO] running `"/workspace/cargo-home/bin/cargo" "+e922e6444795ab795fab1943288aee3d543699b8" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/freefarmdata/rust_auto_farm_source [INFO] finished tweaking git repo https://github.com/freefarmdata/rust_auto_farm_source [INFO] tweaked toml for git repo https://github.com/freefarmdata/rust_auto_farm_source written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/freefarmdata/rust_auto_farm_source already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e922e6444795ab795fab1943288aee3d543699b8" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e922e6444795ab795fab1943288aee3d543699b8" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0747e81ca7d2b2367143d3376bd4862c6b48189b9fefbd6bca6b4b990e64cb69 [INFO] running `"docker" "start" "-a" "0747e81ca7d2b2367143d3376bd4862c6b48189b9fefbd6bca6b4b990e64cb69"` [INFO] [stderr] Checking lapp v0.4.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Checking nix v0.14.1 [INFO] [stderr] Checking rppal v0.11.3 [INFO] [stderr] Checking rusqlite v0.20.0 [INFO] [stderr] Checking crossbeam-channel v0.4.0 [INFO] [stderr] Checking crossbeam-queue v0.2.0 [INFO] [stderr] Checking crossbeam-deque v0.7.2 [INFO] [stderr] Checking chrono v0.4.10 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Checking spidev v0.4.0 [INFO] [stderr] Checking rust_auto_farm v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/application.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicBool` [INFO] [stderr] --> src/application.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::atomic::{AtomicBool}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::atomic::AtomicBool` [INFO] [stderr] --> src/controllers/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::atomic::AtomicBool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/controllers/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `HEAT_TIME_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:30:3 [INFO] [stderr] | [INFO] [stderr] 30 | HEAT_TIME_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HeatTimeExceeded` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `MAX_TEMP_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MaxTempExceeded` [INFO] [stderr] [INFO] [stderr] warning: variant `MIN_TEMP_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MinTempExceeded` [INFO] [stderr] [INFO] [stderr] warning: variant `WATER_EMPTY` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:33:3 [INFO] [stderr] | [INFO] [stderr] 33 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaterEmpty` [INFO] [stderr] [INFO] [stderr] warning: variant `TEMP_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:34:3 [INFO] [stderr] | [INFO] [stderr] 34 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TempSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `NO_TEMP_SENSORS` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:35:3 [INFO] [stderr] | [INFO] [stderr] 35 | NO_TEMP_SENSORS, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NoTempSensors` [INFO] [stderr] [INFO] [stderr] warning: variant `HUMID_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:36:3 [INFO] [stderr] | [INFO] [stderr] 36 | HUMID_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HumidSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `WATER_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:37:3 [INFO] [stderr] | [INFO] [stderr] 37 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaterSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `SOIL_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SoilSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `CAMERA_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CameraFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `FILE_SYSTEM` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:40:3 [INFO] [stderr] | [INFO] [stderr] 40 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FileSystem` [INFO] [stderr] [INFO] [stderr] warning: variant `CALIBRATION_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:41:3 [INFO] [stderr] | [INFO] [stderr] 41 | CALIBRATION_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CalibrationFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `DATA_COLLECTION` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DataCollection` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:43:3 [INFO] [stderr] | [INFO] [stderr] 43 | GPIO_FAILED, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `PROGRAM_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProgramFailed` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Paths` [INFO] [stderr] --> src/sensors/drivers/ds18b20.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | use glob::{glob, Paths}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/application.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `AtomicBool` [INFO] [stderr] --> src/application.rs:3:25 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::atomic::{AtomicBool}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::atomic::AtomicBool` [INFO] [stderr] --> src/controllers/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::sync::atomic::AtomicBool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/controllers/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `HEAT_TIME_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:30:3 [INFO] [stderr] | [INFO] [stderr] 30 | HEAT_TIME_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HeatTimeExceeded` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `MAX_TEMP_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MaxTempExceeded` [INFO] [stderr] [INFO] [stderr] warning: variant `MIN_TEMP_EXCEEDED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MinTempExceeded` [INFO] [stderr] [INFO] [stderr] warning: variant `WATER_EMPTY` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:33:3 [INFO] [stderr] | [INFO] [stderr] 33 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaterEmpty` [INFO] [stderr] [INFO] [stderr] warning: variant `TEMP_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:34:3 [INFO] [stderr] | [INFO] [stderr] 34 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TempSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `NO_TEMP_SENSORS` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:35:3 [INFO] [stderr] | [INFO] [stderr] 35 | NO_TEMP_SENSORS, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `NoTempSensors` [INFO] [stderr] [INFO] [stderr] warning: variant `HUMID_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:36:3 [INFO] [stderr] | [INFO] [stderr] 36 | HUMID_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HumidSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `WATER_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:37:3 [INFO] [stderr] | [INFO] [stderr] 37 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaterSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `SOIL_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SoilSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `CAMERA_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CameraFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `FILE_SYSTEM` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:40:3 [INFO] [stderr] | [INFO] [stderr] 40 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `FileSystem` [INFO] [stderr] [INFO] [stderr] warning: variant `CALIBRATION_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:41:3 [INFO] [stderr] | [INFO] [stderr] 41 | CALIBRATION_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CalibrationFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `DATA_COLLECTION` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DataCollection` [INFO] [stderr] [INFO] [stderr] warning: variant `GPIO_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:43:3 [INFO] [stderr] | [INFO] [stderr] 43 | GPIO_FAILED, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `GpioFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `PROGRAM_FAILED` should have an upper camel case name [INFO] [stderr] --> src/data/alarms.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProgramFailed` [INFO] [stderr] [INFO] [stderr] warning: unused import: `Paths` [INFO] [stderr] --> src/sensors/drivers/ds18b20.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 18 | use glob::{glob, Paths}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Read`, `Write` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:1:15 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dbpath` [INFO] [stderr] --> src/data/util.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn connect(dbpath: &str) -> Result { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_dbpath` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sensors/drivers/gpio.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let mut pin = match controller.get(pin_num) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PUMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | pub const PUMP_GPIO_PIN: usize = 17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BUZZER_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub const BUZZER_GPIO_PIN: usize = 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TEMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub const TEMP_GPIO_PIN: usize = 2; // One Wire Device [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/heat.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/lights.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MAX_TEMP_EXCEEDED` [INFO] [stderr] --> src/data/alarms.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MIN_TEMP_EXCEEDED` [INFO] [stderr] --> src/data/alarms.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_EMPTY` [INFO] [stderr] --> src/data/alarms.rs:33:3 [INFO] [stderr] | [INFO] [stderr] 33 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_SENSOR_FAILED` [INFO] [stderr] --> src/data/alarms.rs:37:3 [INFO] [stderr] | [INFO] [stderr] 37 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SOIL_SENSOR_FAILED` [INFO] [stderr] --> src/data/alarms.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CAMERA_FAILED` [INFO] [stderr] --> src/data/alarms.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FILE_SYSTEM` [INFO] [stderr] --> src/data/alarms.rs:40:3 [INFO] [stderr] | [INFO] [stderr] 40 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DATA_COLLECTION` [INFO] [stderr] --> src/data/alarms.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PROGRAM_FAILED` [INFO] [stderr] --> src/data/alarms.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `INFO` [INFO] [stderr] --> src/data/alarms.rs:48:3 [INFO] [stderr] | [INFO] [stderr] 48 | INFO, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `pin_num` [INFO] [stderr] --> src/sensors/drivers/gpio.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | pin_num: u8, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `values` [INFO] [stderr] --> src/util/window.rs:24:3 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn values(&self) -> &VecDeque { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:32:7 [INFO] [stderr] | [INFO] [stderr] 32 | data::temp::submit(reading.0, reading.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:51:11 [INFO] [stderr] | [INFO] [stderr] 51 | / data::alarms::submit( [INFO] [stderr] 52 | | time::get_time(), [INFO] [stderr] 53 | | Title::NO_TEMP_SENSORS, [INFO] [stderr] 54 | | Severity::WARNING, [INFO] [stderr] 55 | | "No Temperature sensors detected".to_string() [INFO] [stderr] 56 | | ); [INFO] [stderr] | |____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dbpath` [INFO] [stderr] --> src/data/util.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn connect(dbpath: &str) -> Result { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_dbpath` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | / data::alarms::submit( [INFO] [stderr] 63 | | time::get_time(), [INFO] [stderr] 64 | | Title::TEMP_SENSOR_FAILED, [INFO] [stderr] 65 | | Severity::WARNING, [INFO] [stderr] 66 | | "Temperature sensor failed".to_string() [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/humid.rs:30:7 [INFO] [stderr] | [INFO] [stderr] 30 | data::humid::submit(reading.0, reading.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/humid.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / data::alarms::submit( [INFO] [stderr] 45 | | time::get_time(), [INFO] [stderr] 46 | | Title::HUMID_SENSOR_FAILED, [INFO] [stderr] 47 | | Severity::WARNING, [INFO] [stderr] 48 | | "Humidity sensor failed".to_string() [INFO] [stderr] 49 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:122:11 [INFO] [stderr] | [INFO] [stderr] 122 | / data::soil::submit( [INFO] [stderr] 123 | | reading.0, [INFO] [stderr] 124 | | *channel as i32, [INFO] [stderr] 125 | | reading.1 as i32, [INFO] [stderr] 126 | | cv.0, [INFO] [stderr] 127 | | cv.1 [INFO] [stderr] 128 | | ); [INFO] [stderr] | |____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:140:7 [INFO] [stderr] | [INFO] [stderr] 140 | data::water::submit(reading.0, reading.1 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | / data::alarms::submit( [INFO] [stderr] 321 | | time::get_time(), [INFO] [stderr] 322 | | Title::CALIBRATION_FAILED, [INFO] [stderr] 323 | | Severity::ALERT, [INFO] [stderr] 324 | | "Soil calibration has failed. Pump will only activate in manual mode".to_string() [INFO] [stderr] 325 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:61:7 [INFO] [stderr] | [INFO] [stderr] 61 | data::heat::submit(reading.0, reading.1, reading.2 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | data::heat::submit(time::Timespec::new(self.start_active, 0), time::get_time(), state::STATUS_ACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | data::heat::submit(time::Timespec::new(self.start_inactive, 0), time::get_time(), state::STATUS_DEACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / alarms::submit( [INFO] [stderr] 116 | | time::get_time(), [INFO] [stderr] 117 | | Title::HEAT_TIME_EXCEEDED, [INFO] [stderr] 118 | | Severity::ALERT, [INFO] [stderr] 119 | | "Maximum heat time was exceeded. Manual enable is required.".to_string() [INFO] [stderr] 120 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | / alarms::submit( [INFO] [stderr] 167 | | time::get_time(), [INFO] [stderr] 168 | | Title::GPIO_FAILED, [INFO] [stderr] 169 | | Severity::ALERT, [INFO] [stderr] 170 | | "Heat failed to activate".to_string() [INFO] [stderr] 171 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:190:7 [INFO] [stderr] | [INFO] [stderr] 190 | / alarms::submit( [INFO] [stderr] 191 | | time::get_time(), [INFO] [stderr] 192 | | Title::GPIO_FAILED, [INFO] [stderr] 193 | | Severity::ALERT, [INFO] [stderr] 194 | | "Heat failed to deactivate".to_string() [INFO] [stderr] 195 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | data::lights::submit(reading.0, reading.1, reading.2 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | data::lights::submit(time::Timespec::new(self.start_active, 0), time::get_time(), state::STATUS_ACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | data::lights::submit(time::Timespec::new(self.start_inactive, 0), time::get_time(), state::STATUS_DEACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:107:7 [INFO] [stderr] | [INFO] [stderr] 107 | / alarms::submit( [INFO] [stderr] 108 | | time::get_time(), [INFO] [stderr] 109 | | Title::GPIO_FAILED, [INFO] [stderr] 110 | | Severity::ALERT, [INFO] [stderr] 111 | | "Lights failed to activate".to_string() [INFO] [stderr] 112 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:131:7 [INFO] [stderr] | [INFO] [stderr] 131 | / alarms::submit( [INFO] [stderr] 132 | | time::get_time(), [INFO] [stderr] 133 | | Title::GPIO_FAILED, [INFO] [stderr] 134 | | Severity::ALERT, [INFO] [stderr] 135 | | "Lights failed to deactivate".to_string() [INFO] [stderr] 136 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sensors/drivers/gpio.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let mut pin = match controller.get(pin_num) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PUMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | pub const PUMP_GPIO_PIN: usize = 17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BUZZER_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub const BUZZER_GPIO_PIN: usize = 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `TEMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | pub const TEMP_GPIO_PIN: usize = 2; // One Wire Device [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/heat.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/lights.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MAX_TEMP_EXCEEDED` [INFO] [stderr] --> src/data/alarms.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MIN_TEMP_EXCEEDED` [INFO] [stderr] --> src/data/alarms.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_EMPTY` [INFO] [stderr] --> src/data/alarms.rs:33:3 [INFO] [stderr] | [INFO] [stderr] 33 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_SENSOR_FAILED` [INFO] [stderr] --> src/data/alarms.rs:37:3 [INFO] [stderr] | [INFO] [stderr] 37 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SOIL_SENSOR_FAILED` [INFO] [stderr] --> src/data/alarms.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CAMERA_FAILED` [INFO] [stderr] --> src/data/alarms.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FILE_SYSTEM` [INFO] [stderr] --> src/data/alarms.rs:40:3 [INFO] [stderr] | [INFO] [stderr] 40 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DATA_COLLECTION` [INFO] [stderr] --> src/data/alarms.rs:42:3 [INFO] [stderr] | [INFO] [stderr] 42 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PROGRAM_FAILED` [INFO] [stderr] --> src/data/alarms.rs:44:3 [INFO] [stderr] | [INFO] [stderr] 44 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `INFO` [INFO] [stderr] --> src/data/alarms.rs:48:3 [INFO] [stderr] | [INFO] [stderr] 48 | INFO, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `pin_num` [INFO] [stderr] --> src/sensors/drivers/gpio.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | pin_num: u8, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `values` [INFO] [stderr] --> src/util/window.rs:24:3 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn values(&self) -> &VecDeque { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:32:7 [INFO] [stderr] | [INFO] [stderr] 32 | data::temp::submit(reading.0, reading.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:51:11 [INFO] [stderr] | [INFO] [stderr] 51 | / data::alarms::submit( [INFO] [stderr] 52 | | time::get_time(), [INFO] [stderr] 53 | | Title::NO_TEMP_SENSORS, [INFO] [stderr] 54 | | Severity::WARNING, [INFO] [stderr] 55 | | "No Temperature sensors detected".to_string() [INFO] [stderr] 56 | | ); [INFO] [stderr] | |____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/temp.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | / data::alarms::submit( [INFO] [stderr] 63 | | time::get_time(), [INFO] [stderr] 64 | | Title::TEMP_SENSOR_FAILED, [INFO] [stderr] 65 | | Severity::WARNING, [INFO] [stderr] 66 | | "Temperature sensor failed".to_string() [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/humid.rs:30:7 [INFO] [stderr] | [INFO] [stderr] 30 | data::humid::submit(reading.0, reading.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/humid.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / data::alarms::submit( [INFO] [stderr] 45 | | time::get_time(), [INFO] [stderr] 46 | | Title::HUMID_SENSOR_FAILED, [INFO] [stderr] 47 | | Severity::WARNING, [INFO] [stderr] 48 | | "Humidity sensor failed".to_string() [INFO] [stderr] 49 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:122:11 [INFO] [stderr] | [INFO] [stderr] 122 | / data::soil::submit( [INFO] [stderr] 123 | | reading.0, [INFO] [stderr] 124 | | *channel as i32, [INFO] [stderr] 125 | | reading.1 as i32, [INFO] [stderr] 126 | | cv.0, [INFO] [stderr] 127 | | cv.1 [INFO] [stderr] 128 | | ); [INFO] [stderr] | |____________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:140:7 [INFO] [stderr] | [INFO] [stderr] 140 | data::water::submit(reading.0, reading.1 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/mcp.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | / data::alarms::submit( [INFO] [stderr] 321 | | time::get_time(), [INFO] [stderr] 322 | | Title::CALIBRATION_FAILED, [INFO] [stderr] 323 | | Severity::ALERT, [INFO] [stderr] 324 | | "Soil calibration has failed. Pump will only activate in manual mode".to_string() [INFO] [stderr] 325 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:61:7 [INFO] [stderr] | [INFO] [stderr] 61 | data::heat::submit(reading.0, reading.1, reading.2 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | data::heat::submit(time::Timespec::new(self.start_active, 0), time::get_time(), state::STATUS_ACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | data::heat::submit(time::Timespec::new(self.start_inactive, 0), time::get_time(), state::STATUS_DEACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | / alarms::submit( [INFO] [stderr] 116 | | time::get_time(), [INFO] [stderr] 117 | | Title::HEAT_TIME_EXCEEDED, [INFO] [stderr] 118 | | Severity::ALERT, [INFO] [stderr] 119 | | "Maximum heat time was exceeded. Manual enable is required.".to_string() [INFO] [stderr] 120 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:166:7 [INFO] [stderr] | [INFO] [stderr] 166 | / alarms::submit( [INFO] [stderr] 167 | | time::get_time(), [INFO] [stderr] 168 | | Title::GPIO_FAILED, [INFO] [stderr] 169 | | Severity::ALERT, [INFO] [stderr] 170 | | "Heat failed to activate".to_string() [INFO] [stderr] 171 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/heat.rs:190:7 [INFO] [stderr] | [INFO] [stderr] 190 | / alarms::submit( [INFO] [stderr] 191 | | time::get_time(), [INFO] [stderr] 192 | | Title::GPIO_FAILED, [INFO] [stderr] 193 | | Severity::ALERT, [INFO] [stderr] 194 | | "Heat failed to deactivate".to_string() [INFO] [stderr] 195 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | data::lights::submit(reading.0, reading.1, reading.2 as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | data::lights::submit(time::Timespec::new(self.start_active, 0), time::get_time(), state::STATUS_ACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | data::lights::submit(time::Timespec::new(self.start_inactive, 0), time::get_time(), state::STATUS_DEACTIVE as f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:107:7 [INFO] [stderr] | [INFO] [stderr] 107 | / alarms::submit( [INFO] [stderr] 108 | | time::get_time(), [INFO] [stderr] 109 | | Title::GPIO_FAILED, [INFO] [stderr] 110 | | Severity::ALERT, [INFO] [stderr] 111 | | "Lights failed to activate".to_string() [INFO] [stderr] 112 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/controllers/lights.rs:131:7 [INFO] [stderr] | [INFO] [stderr] 131 | / alarms::submit( [INFO] [stderr] 132 | | time::get_time(), [INFO] [stderr] 133 | | Title::GPIO_FAILED, [INFO] [stderr] 134 | | Severity::ALERT, [INFO] [stderr] 135 | | "Lights failed to deactivate".to_string() [INFO] [stderr] 136 | | ); [INFO] [stderr] | |________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 28.73s [INFO] running `"docker" "inspect" "0747e81ca7d2b2367143d3376bd4862c6b48189b9fefbd6bca6b4b990e64cb69"` [INFO] running `"docker" "rm" "-f" "0747e81ca7d2b2367143d3376bd4862c6b48189b9fefbd6bca6b4b990e64cb69"` [INFO] [stdout] 0747e81ca7d2b2367143d3376bd4862c6b48189b9fefbd6bca6b4b990e64cb69