[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] 3974b9a..7ab5015 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7ab501594eef13a5dce264bf1d1da773280bf665 [INFO] checking freefarmdata/rust_auto_farm_source against try#7cb06892a23b4da510686618c8730f0b2e8bd952 for pr-66963 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffreefarmdata%2Frust_auto_farm_source" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/freefarmdata/rust_auto_farm_source on toolchain 7cb06892a23b4da510686618c8730f0b2e8bd952 [INFO] running `"/workspace/cargo-home/bin/cargo" "+7cb06892a23b4da510686618c8730f0b2e8bd952" "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-5/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" "+7cb06892a23b4da510686618c8730f0b2e8bd952" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+7cb06892a23b4da510686618c8730f0b2e8bd952" "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] 81cfd63d6f49c628be7b5261951b9581d9e994e21b644c112f56918b96e15d40 [INFO] running `"docker" "start" "-a" "81cfd63d6f49c628be7b5261951b9581d9e994e21b644c112f56918b96e15d40"` [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking lapp v0.4.0 [INFO] [stderr] Compiling libsqlite3-sys v0.16.0 [INFO] [stderr] Checking nix v0.14.1 [INFO] [stderr] Checking rppal v0.11.3 [INFO] [stderr] Checking crossbeam-channel v0.4.0 [INFO] [stderr] Checking chrono v0.4.10 [INFO] [stderr] Checking rusqlite v0.20.0 [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 imports: `Result`, `Value` [INFO] [stderr] --> src/alarms.rs:2:19 [INFO] [stderr] | [INFO] [stderr] 2 | use serde_json::{ Result, Value }; [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::atomic::AtomicBool` [INFO] [stderr] --> src/alarms.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::atomic::AtomicBool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/alarms.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | 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/alarms.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | 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/alarms.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | 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/alarms.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | 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/alarms.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | 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/alarms.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TempSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `HUMID_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/alarms.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | 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/alarms.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | 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/alarms.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | 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/alarms.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | 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/alarms.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | 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/alarms.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | 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/alarms.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | 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/alarms.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | 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/alarms.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProgramFailed` [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::constants` [INFO] [stderr] --> src/controllers/temp.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::constants; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::data` [INFO] [stderr] --> src/controllers/humid.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::data; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::constants` [INFO] [stderr] --> src/controllers/humid.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::constants; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::data` [INFO] [stderr] --> src/controllers/mcp.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::data; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::sensors::errors::SensorError` [INFO] [stderr] --> src/controllers/mcp.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::sensors::errors::SensorError; [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: 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 import: `Write` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:1:21 [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 imports: `Result`, `Value` [INFO] [stderr] --> src/alarms.rs:2:19 [INFO] [stderr] | [INFO] [stderr] 2 | use serde_json::{ Result, Value }; [INFO] [stderr] | ^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::atomic::AtomicBool` [INFO] [stderr] --> src/alarms.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::atomic::AtomicBool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/alarms.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | 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/alarms.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | 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/alarms.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | 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/alarms.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | 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/alarms.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | 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/alarms.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TempSensorFailed` [INFO] [stderr] [INFO] [stderr] warning: variant `HUMID_SENSOR_FAILED` should have an upper camel case name [INFO] [stderr] --> src/alarms.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | 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/alarms.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | 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/alarms.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | 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/alarms.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | 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/alarms.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | 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/alarms.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | 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/alarms.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | 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/alarms.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | 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/alarms.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ProgramFailed` [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::constants` [INFO] [stderr] --> src/controllers/temp.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::constants; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::data` [INFO] [stderr] --> src/controllers/humid.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::data; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::constants` [INFO] [stderr] --> src/controllers/humid.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::constants; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::data` [INFO] [stderr] --> src/controllers/mcp.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::data; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::sensors::errors::SensorError` [INFO] [stderr] --> src/controllers/mcp.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::sensors::errors::SensorError; [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: 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 import: `Write` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{Read, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [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: `alarms` [INFO] [stderr] --> src/main.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let alarms = alarms::initialize(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_alarms` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [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] 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: variant is never constructed: `HEAT_TIME_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | HEAT_TIME_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MAX_TEMP_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MIN_TEMP_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_EMPTY` [INFO] [stderr] --> src/alarms.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TEMP_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `HUMID_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | HUMID_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SOIL_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CAMERA_FAILED` [INFO] [stderr] --> src/alarms.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FILE_SYSTEM` [INFO] [stderr] --> src/alarms.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CALIBRATION_FAILED` [INFO] [stderr] --> src/alarms.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | CALIBRATION_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DATA_COLLECTION` [INFO] [stderr] --> src/alarms.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GPIO_FAILED` [INFO] [stderr] --> src/alarms.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | GPIO_FAILED, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PROGRAM_FAILED` [INFO] [stderr] --> src/alarms.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `INFO` [INFO] [stderr] --> src/alarms.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | INFO, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WARNING` [INFO] [stderr] --> src/alarms.rs:27:3 [INFO] [stderr] | [INFO] [stderr] 27 | WARNING, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ALERT` [INFO] [stderr] --> src/alarms.rs:28:3 [INFO] [stderr] | [INFO] [stderr] 28 | ALERT, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/alarms.rs:50:3 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn add(&mut self, title: Title, severity: Severity, text: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_all` [INFO] [stderr] --> src/alarms.rs:72:3 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn get_all(&self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_json` [INFO] [stderr] --> src/alarms.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn to_json(&self, list: &LinkedList) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `severity_to_string` [INFO] [stderr] --> src/alarms.rs:96:3 [INFO] [stderr] | [INFO] [stderr] 96 | fn severity_to_string(&self, severity: &Severity) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `title_to_string` [INFO] [stderr] --> src/alarms.rs:104:3 [INFO] [stderr] | [INFO] [stderr] 104 | fn title_to_string(&self, title: &Title) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PUMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub const PUMP_GPIO_PIN: usize = 17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BUZZER_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | 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:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub const TEMP_GPIO_PIN: usize = 2; // One Wire Device [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WATER_CHANNEL` [INFO] [stderr] --> src/constants.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub const WATER_CHANNEL: usize = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/controllers/humid.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn save(&mut self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/controllers/mcp.rs:63:3 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn save(&mut self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `device` [INFO] [stderr] --> src/controllers/heat.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | device: Heat, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/heat.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `current_temp` [INFO] [stderr] --> src/controllers/heat.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | current_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `morning_time` [INFO] [stderr] --> src/controllers/heat.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | morning_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `night_time` [INFO] [stderr] --> src/controllers/heat.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | night_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `day_temp` [INFO] [stderr] --> src/controllers/heat.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | day_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `night_temp` [INFO] [stderr] --> src/controllers/heat.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | night_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `heat_time` [INFO] [stderr] --> src/controllers/heat.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | heat_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `heat_enabled` [INFO] [stderr] --> src/controllers/heat.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | heat_enabled: Arc [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `activate` [INFO] [stderr] --> src/controllers/heat.rs:43:3 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn activate(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/lights.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONNECTION_STRING` [INFO] [stderr] --> src/data/humid.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const CONNECTION_STRING: &str = "INSERT INTO humid (time, value) VALUES (?1, ?2)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `submit` [INFO] [stderr] --> src/data/humid.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn submit(time: Timespec, value: f32) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONNECTION_STRING` [INFO] [stderr] --> src/data/soil.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const CONNECTION_STRING: &str = "INSERT INTO soil (time, pin, value, median, std) VALUES (?1, ?2, ?3, ?4, ?5)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `submit` [INFO] [stderr] --> src/data/soil.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn submit(time: Timespec, pin: i32, value: i32, median: f32, std: f32) -> Result { [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: `read_all` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:54:3 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn read_all(&mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `driver` [INFO] [stderr] --> src/sensors/heat.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | driver: GPIOPin [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `activate` [INFO] [stderr] --> src/sensors/heat.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn activate(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `deactivate` [INFO] [stderr] --> src/sensors/heat.rs:24:3 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn deactivate(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Read` [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: `alarms` [INFO] [stderr] --> src/main.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let alarms = alarms::initialize(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_alarms` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [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] 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: variant is never constructed: `HEAT_TIME_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | HEAT_TIME_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MAX_TEMP_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | MAX_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MIN_TEMP_EXCEEDED` [INFO] [stderr] --> src/alarms.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | MIN_TEMP_EXCEEDED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_EMPTY` [INFO] [stderr] --> src/alarms.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | WATER_EMPTY, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TEMP_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | TEMP_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `HUMID_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | HUMID_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WATER_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | WATER_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SOIL_SENSOR_FAILED` [INFO] [stderr] --> src/alarms.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | SOIL_SENSOR_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CAMERA_FAILED` [INFO] [stderr] --> src/alarms.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | CAMERA_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `FILE_SYSTEM` [INFO] [stderr] --> src/alarms.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | FILE_SYSTEM, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CALIBRATION_FAILED` [INFO] [stderr] --> src/alarms.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | CALIBRATION_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DATA_COLLECTION` [INFO] [stderr] --> src/alarms.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | DATA_COLLECTION, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GPIO_FAILED` [INFO] [stderr] --> src/alarms.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | GPIO_FAILED, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PROGRAM_FAILED` [INFO] [stderr] --> src/alarms.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | PROGRAM_FAILED, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `INFO` [INFO] [stderr] --> src/alarms.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | INFO, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `WARNING` [INFO] [stderr] --> src/alarms.rs:27:3 [INFO] [stderr] | [INFO] [stderr] 27 | WARNING, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ALERT` [INFO] [stderr] --> src/alarms.rs:28:3 [INFO] [stderr] | [INFO] [stderr] 28 | ALERT, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/alarms.rs:50:3 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn add(&mut self, title: Title, severity: Severity, text: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_all` [INFO] [stderr] --> src/alarms.rs:72:3 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn get_all(&self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_json` [INFO] [stderr] --> src/alarms.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn to_json(&self, list: &LinkedList) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `severity_to_string` [INFO] [stderr] --> src/alarms.rs:96:3 [INFO] [stderr] | [INFO] [stderr] 96 | fn severity_to_string(&self, severity: &Severity) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `title_to_string` [INFO] [stderr] --> src/alarms.rs:104:3 [INFO] [stderr] | [INFO] [stderr] 104 | fn title_to_string(&self, title: &Title) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PUMP_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub const PUMP_GPIO_PIN: usize = 17; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `BUZZER_GPIO_PIN` [INFO] [stderr] --> src/constants.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | 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:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub const TEMP_GPIO_PIN: usize = 2; // One Wire Device [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WATER_CHANNEL` [INFO] [stderr] --> src/constants.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub const WATER_CHANNEL: usize = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/controllers/humid.rs:26:3 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn save(&mut self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/controllers/mcp.rs:63:3 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn save(&mut self) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `device` [INFO] [stderr] --> src/controllers/heat.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | device: Heat, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/heat.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `current_temp` [INFO] [stderr] --> src/controllers/heat.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | current_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `morning_time` [INFO] [stderr] --> src/controllers/heat.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | morning_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `night_time` [INFO] [stderr] --> src/controllers/heat.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | night_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `day_temp` [INFO] [stderr] --> src/controllers/heat.rs:14:3 [INFO] [stderr] | [INFO] [stderr] 14 | day_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `night_temp` [INFO] [stderr] --> src/controllers/heat.rs:15:3 [INFO] [stderr] | [INFO] [stderr] 15 | night_temp: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `heat_time` [INFO] [stderr] --> src/controllers/heat.rs:16:3 [INFO] [stderr] | [INFO] [stderr] 16 | heat_time: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `heat_enabled` [INFO] [stderr] --> src/controllers/heat.rs:17:3 [INFO] [stderr] | [INFO] [stderr] 17 | heat_enabled: Arc [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `activate` [INFO] [stderr] --> src/controllers/heat.rs:43:3 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn activate(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `debug` [INFO] [stderr] --> src/controllers/lights.rs:12:3 [INFO] [stderr] | [INFO] [stderr] 12 | debug: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONNECTION_STRING` [INFO] [stderr] --> src/data/humid.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const CONNECTION_STRING: &str = "INSERT INTO humid (time, value) VALUES (?1, ?2)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `submit` [INFO] [stderr] --> src/data/humid.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn submit(time: Timespec, value: f32) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONNECTION_STRING` [INFO] [stderr] --> src/data/soil.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const CONNECTION_STRING: &str = "INSERT INTO soil (time, pin, value, median, std) VALUES (?1, ?2, ?3, ?4, ?5)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `submit` [INFO] [stderr] --> src/data/soil.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn submit(time: Timespec, pin: i32, value: i32, median: f32, std: f32) -> Result { [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: `read_all` [INFO] [stderr] --> src/sensors/drivers/mcp3008.rs:54:3 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn read_all(&mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `driver` [INFO] [stderr] --> src/sensors/heat.rs:6:3 [INFO] [stderr] | [INFO] [stderr] 6 | driver: GPIOPin [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `activate` [INFO] [stderr] --> src/sensors/heat.rs:19:3 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn activate(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `deactivate` [INFO] [stderr] --> src/sensors/heat.rs:24:3 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn deactivate(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.65s [INFO] running `"docker" "inspect" "81cfd63d6f49c628be7b5261951b9581d9e994e21b644c112f56918b96e15d40"` [INFO] running `"docker" "rm" "-f" "81cfd63d6f49c628be7b5261951b9581d9e994e21b644c112f56918b96e15d40"` [INFO] [stdout] 81cfd63d6f49c628be7b5261951b9581d9e994e21b644c112f56918b96e15d40