[INFO] cloning repository https://github.com/w3aseL/pi-weather-station
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/w3aseL/pi-weather-station" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fw3aseL%2Fpi-weather-station", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fw3aseL%2Fpi-weather-station'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 47769de09f83530bf5816b06f841d741bedfb675
[INFO] testing w3aseL/pi-weather-station against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fw3aseL%2Fpi-weather-station" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/w3aseL/pi-weather-station
[INFO] finished tweaking git repo https://github.com/w3aseL/pi-weather-station
[INFO] tweaked toml for git repo https://github.com/w3aseL/pi-weather-station written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/w3aseL/pi-weather-station on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/w3aseL/pi-weather-station 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded openssl-sys v0.9.65
[INFO] [stderr]   Downloaded siphasher v0.3.5
[INFO] [stderr]   Downloaded cpufeatures v0.1.5
[INFO] [stderr]   Downloaded cron v0.6.1
[INFO] [stderr]   Downloaded job_scheduler v1.2.1
[INFO] [stderr]   Downloaded postgres-types v0.2.1
[INFO] [stderr]   Downloaded postgres v0.19.1
[INFO] [stderr]   Downloaded postgres-protocol v0.6.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.20
[INFO] [stderr]   Downloaded async-trait v0.1.50
[INFO] [stderr]   Downloaded addr2line v0.15.2
[INFO] [stderr]   Downloaded tokio-postgres v0.7.2
[INFO] [stderr]   Downloaded backtrace v0.3.60
[INFO] [stderr]   Downloaded rppal v0.12.0
[INFO] [stderr]   Downloaded sysinfo v0.18.2
[INFO] [stderr]   Downloaded nom v4.1.1
[INFO] [stderr]   Downloaded reqwest v0.11.4
[INFO] [stderr]   Downloaded hyper v0.14.10
[INFO] [stderr]   Downloaded openssl v0.10.35
[INFO] [stderr]   Downloaded object v0.25.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fc9e36ba5f1053c3323753feece2c527437c399389d56d73fd5f72ba4bdfd09
[INFO] running `Command { std: "docker" "start" "-a" "9fc9e36ba5f1053c3323753feece2c527437c399389d56d73fd5f72ba4bdfd09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fc9e36ba5f1053c3323753feece2c527437c399389d56d73fd5f72ba4bdfd09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fc9e36ba5f1053c3323753feece2c527437c399389d56d73fd5f72ba4bdfd09", kill_on_drop: false }`
[INFO] [stdout] 9fc9e36ba5f1053c3323753feece2c527437c399389d56d73fd5f72ba4bdfd09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ededf0b98441e355e9acabc63df27c736302c0c6a0dc3c08a2c4fc1f3fca6b2b
[INFO] running `Command { std: "docker" "start" "-a" "ededf0b98441e355e9acabc63df27c736302c0c6a0dc3c08a2c4fc1f3fca6b2b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling futures-macro v0.3.15
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-sink v0.3.15
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling lock_api v0.4.4
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]    Compiling tokio v1.7.1
[INFO] [stderr]    Compiling openssl-src v111.15.0+1.1.1k
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling tinyvec v1.2.0
[INFO] [stderr]    Compiling futures-io v0.3.15
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling openssl v0.10.35
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling subtle v2.4.0
[INFO] [stderr]    Compiling http v0.2.4
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling tracing-core v0.1.18
[INFO] [stderr]    Compiling httparse v1.4.1
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling openssl-sys v0.9.65
[INFO] [stderr]    Compiling backtrace v0.3.60
[INFO] [stderr]    Compiling cpufeatures v0.1.5
[INFO] [stderr]    Compiling native-tls v0.2.7
[INFO] [stderr]    Compiling gimli v0.24.0
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling mio v0.7.13
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling crypto-mac v0.10.0
[INFO] [stderr]    Compiling socket2 v0.4.0
[INFO] [stderr]    Compiling tracing v0.1.26
[INFO] [stderr]    Compiling sha2 v0.9.5
[INFO] [stderr]    Compiling hmac v0.10.1
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling object v0.25.3
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling siphasher v0.3.5
[INFO] [stderr]    Compiling async-trait v0.1.50
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling stringprep v0.1.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.20
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling encoding_rs v0.8.28
[INFO] [stderr]    Compiling httpdate v1.0.1
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling nom v4.1.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling sysinfo v0.18.2
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling ipnet v2.3.1
[INFO] [stderr]    Compiling rppal v0.12.0
[INFO] [stderr]    Compiling http-body v0.4.2
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling addr2line v0.15.2
[INFO] [stderr]    Compiling postgres-protocol v0.6.1
[INFO] [stderr]    Compiling postgres-types v0.2.1
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling cron v0.6.1
[INFO] [stderr]    Compiling job_scheduler v1.2.1
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling futures-executor v0.3.15
[INFO] [stderr]    Compiling futures v0.3.15
[INFO] [stderr]    Compiling tokio-util v0.6.7
[INFO] [stderr]    Compiling h2 v0.3.3
[INFO] [stderr]    Compiling tokio-postgres v0.7.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.0
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling postgres v0.19.1
[INFO] [stderr]    Compiling hyper v0.14.10
[INFO] [stderr]    Compiling tokio-native-tls v0.3.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.4
[INFO] [stderr]    Compiling pi-weather-station v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `spawn`
[INFO] [stdout]  --> src/hardware/dht.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::{ sleep, spawn };
[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: `DateTime`
[INFO] [stdout]  --> src/hardware/dht.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::{ DateTime };
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]   --> src/hardware/dht.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::offset::{ Utc };
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventType`
[INFO] [stdout]   --> src/hardware/dht.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::hardware::events::{ Event, EventType, Payload };
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Job`
[INFO] [stdout]  --> src/hardware/rain.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use job_scheduler::{ Job };
[INFO] [stdout]   |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Date` and `Local`
[INFO] [stdout]  --> src/data/types.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{ DateTime, Utc, Date, Local };
[INFO] [stdout]   |                              ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/cache.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{ Serialize, Deserialize };
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/api/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/api/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde_json::{ Value };
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_daytime_data`
[INFO] [stdout]   --> src/api/mod.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use cache::{ get_daytime_data, get_latest_data };
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/hardware/events.rs:52:34
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/events.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/hardware/button.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/button.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/vane.rs:98:56
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/data/process.rs:114:16
[INFO] [stdout]     |
[INFO] [stdout] 114 |     if let Err(e) = res {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/data/types.rs:41:37
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> src/data/types.rs:41:51
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let res = tokio_main();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `convert_temp_to_farenheit` is never used
[INFO] [stdout]   --> src/hardware/dht.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl DHTData {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn convert_temp_to_farenheit(temp_c: f32) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_sender` is never read
[INFO] [stdout]    --> src/hardware/dht.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct DHT {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     event_sender: Sender<Event>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count_to_cm` and `count_to_in` are never used
[INFO] [stdout]   --> src/hardware/rain.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl RainData {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn count_to_cm(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn count_to_in(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `insert`, `insert_many`, and `find_all` are never used
[INFO] [stdout]   --> src/data/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait DatabaseType {
[INFO] [stdout]    |           ------------ associated items in this trait
[INFO] [stdout]  7 |     fn create_table(client: &mut Client);
[INFO] [stdout]  8 |     fn insert(&self, client: &mut Client);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]  9 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 10 |     fn find_all<T: DatabaseType>() -> Vec<T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev_date` is never read
[INFO] [stdout]    --> src/data/process.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct DaytimeData {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 127 |     date: Date<Local>,
[INFO] [stdout] 128 |     prev_date: Option<Date<Local>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DaytimeData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `sender`, and `db_client` are never read
[INFO] [stdout]    --> src/data/process.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct DataManager {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 181 |     config: Config,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 182 |     sender: Sender<Event>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     db_client: Client,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/data/types.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Rain {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(timestamp: DateTime<Utc>, count: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORMAT` is never used
[INFO] [stdout]   --> src/data/types.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 |     const FORMAT: &'static str = "%Y-%m-%d";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize` is never used
[INFO] [stdout]    --> src/data/types.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn serialize<S>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize` is never used
[INFO] [stdout]    --> src/data/types.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn deserialize<'de, D>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_daytime_data` is never used
[INFO] [stdout]   --> src/api/cache.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ApiCache {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_daytime_data(&self) -> DaytimeData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_daytime_data` is never used
[INFO] [stdout]   --> src/api/cache.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn get_daytime_data() -> DaytimeData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "ededf0b98441e355e9acabc63df27c736302c0c6a0dc3c08a2c4fc1f3fca6b2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ededf0b98441e355e9acabc63df27c736302c0c6a0dc3c08a2c4fc1f3fca6b2b", kill_on_drop: false }`
[INFO] [stdout] ededf0b98441e355e9acabc63df27c736302c0c6a0dc3c08a2c4fc1f3fca6b2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 211a6fb0f9a68266a13289ba089f3521d7ce0268d9766abeeeef6da2164dd764
[INFO] running `Command { std: "docker" "start" "-a" "211a6fb0f9a68266a13289ba089f3521d7ce0268d9766abeeeef6da2164dd764", kill_on_drop: false }`
[INFO] [stderr]    Compiling pi-weather-station v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `spawn`
[INFO] [stdout]  --> src/hardware/dht.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::{ sleep, spawn };
[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: `DateTime`
[INFO] [stdout]  --> src/hardware/dht.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use chrono::{ DateTime };
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Utc`
[INFO] [stdout]   --> src/hardware/dht.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::offset::{ Utc };
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventType`
[INFO] [stdout]   --> src/hardware/dht.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::hardware::events::{ Event, EventType, Payload };
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Job`
[INFO] [stdout]  --> src/hardware/rain.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use job_scheduler::{ Job };
[INFO] [stdout]   |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Date` and `Local`
[INFO] [stdout]  --> src/data/types.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{ DateTime, Utc, Date, Local };
[INFO] [stdout]   |                              ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/cache.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{ Serialize, Deserialize };
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/api/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/api/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde_json::{ Value };
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_daytime_data`
[INFO] [stdout]   --> src/api/mod.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use cache::{ get_daytime_data, get_latest_data };
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/hardware/events.rs:52:34
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/events.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/hardware/button.rs:32:34
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/button.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daytime_info`
[INFO] [stdout]   --> src/hardware/vane.rs:98:56
[INFO] [stdout]    |
[INFO] [stdout] 98 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/data/process.rs:114:16
[INFO] [stdout]     |
[INFO] [stdout] 114 |     if let Err(e) = res {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/data/types.rs:41:37
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> src/data/types.rs:41:51
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/main.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let res = tokio_main();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `convert_temp_to_farenheit` is never used
[INFO] [stdout]   --> src/hardware/dht.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl DHTData {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn convert_temp_to_farenheit(temp_c: f32) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_sender` is never read
[INFO] [stdout]    --> src/hardware/dht.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct DHT {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 125 |     event_sender: Sender<Event>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count_to_cm` and `count_to_in` are never used
[INFO] [stdout]   --> src/hardware/rain.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl RainData {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn count_to_cm(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn count_to_in(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `insert`, `insert_many`, and `find_all` are never used
[INFO] [stdout]   --> src/data/mod.rs:8:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait DatabaseType {
[INFO] [stdout]    |           ------------ associated items in this trait
[INFO] [stdout]  7 |     fn create_table(client: &mut Client);
[INFO] [stdout]  8 |     fn insert(&self, client: &mut Client);
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]  9 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 10 |     fn find_all<T: DatabaseType>() -> Vec<T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev_date` is never read
[INFO] [stdout]    --> src/data/process.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct DaytimeData {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 127 |     date: Date<Local>,
[INFO] [stdout] 128 |     prev_date: Option<Date<Local>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DaytimeData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `sender`, and `db_client` are never read
[INFO] [stdout]    --> src/data/process.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct DataManager {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 181 |     config: Config,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 182 |     sender: Sender<Event>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     db_client: Client,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/data/types.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Rain {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(timestamp: DateTime<Utc>, count: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORMAT` is never used
[INFO] [stdout]   --> src/data/types.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 |     const FORMAT: &'static str = "%Y-%m-%d";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize` is never used
[INFO] [stdout]    --> src/data/types.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn serialize<S>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize` is never used
[INFO] [stdout]    --> src/data/types.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub fn deserialize<'de, D>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_daytime_data` is never used
[INFO] [stdout]   --> src/api/cache.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ApiCache {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_daytime_data(&self) -> DaytimeData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_daytime_data` is never used
[INFO] [stdout]   --> src/api/cache.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn get_daytime_data() -> DaytimeData {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.88s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "211a6fb0f9a68266a13289ba089f3521d7ce0268d9766abeeeef6da2164dd764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "211a6fb0f9a68266a13289ba089f3521d7ce0268d9766abeeeef6da2164dd764", kill_on_drop: false }`
[INFO] [stdout] 211a6fb0f9a68266a13289ba089f3521d7ce0268d9766abeeeef6da2164dd764
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 204122ffc45c579402113da49362d61884aa9796ba9c2ed89ef44a2125a5f991
[INFO] running `Command { std: "docker" "start" "-a" "204122ffc45c579402113da49362d61884aa9796ba9c2ed89ef44a2125a5f991", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `spawn`
[INFO] [stderr]  --> src/hardware/dht.rs:6:27
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::thread::{ sleep, spawn };
[INFO] [stderr]   |                           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DateTime`
[INFO] [stderr]  --> src/hardware/dht.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use chrono::{ DateTime };
[INFO] [stderr]   |               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Utc`
[INFO] [stderr]   --> src/hardware/dht.rs:10:23
[INFO] [stderr]    |
[INFO] [stderr] 10 | use chrono::offset::{ Utc };
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EventType`
[INFO] [stderr]   --> src/hardware/dht.rs:12:39
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::hardware::events::{ Event, EventType, Payload };
[INFO] [stderr]    |                                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Job`
[INFO] [stderr]  --> src/hardware/rain.rs:4:22
[INFO] [stderr]   |
[INFO] [stderr] 4 | use job_scheduler::{ Job };
[INFO] [stderr]   |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Date` and `Local`
[INFO] [stderr]  --> src/data/types.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use chrono::{ DateTime, Utc, Date, Local };
[INFO] [stderr]   |                              ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> src/api/cache.rs:4:14
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{ Serialize, Deserialize };
[INFO] [stderr]   |              ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Read`
[INFO] [stderr]  --> src/api/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::io::Read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]   --> src/api/mod.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | use serde_json::{ Value };
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `get_daytime_data`
[INFO] [stderr]   --> src/api/mod.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | use cache::{ get_daytime_data, get_latest_data };
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/hardware/events.rs:52:34
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `daytime_info`
[INFO] [stderr]   --> src/hardware/events.rs:52:56
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/hardware/button.rs:32:34
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `daytime_info`
[INFO] [stderr]   --> src/hardware/button.rs:32:56
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `daytime_info`
[INFO] [stderr]   --> src/hardware/vane.rs:98:56
[INFO] [stderr]    |
[INFO] [stderr] 98 |     fn update_data_fields(&self, data: &mut DataPoint, daytime_info: &mut DaytimeData) {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daytime_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/data/process.rs:114:16
[INFO] [stderr]     |
[INFO] [stderr] 114 |     if let Err(e) = res {
[INFO] [stderr]     |                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/data/types.rs:41:37
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client`
[INFO] [stderr]   --> src/data/types.rs:41:51
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client) {
[INFO] [stderr]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]   --> src/main.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let res = tokio_main();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `convert_temp_to_farenheit` is never used
[INFO] [stderr]   --> src/hardware/dht.rs:53:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl DHTData {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn convert_temp_to_farenheit(temp_c: f32) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `event_sender` is never read
[INFO] [stderr]    --> src/hardware/dht.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub struct DHT {
[INFO] [stderr]     |            --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 125 |     event_sender: Sender<Event>,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `count_to_cm` and `count_to_in` are never used
[INFO] [stderr]   --> src/hardware/rain.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl RainData {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn count_to_cm(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn count_to_in(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `insert`, `insert_many`, and `find_all` are never used
[INFO] [stderr]   --> src/data/mod.rs:8:8
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub trait DatabaseType {
[INFO] [stderr]    |           ------------ associated items in this trait
[INFO] [stderr]  7 |     fn create_table(client: &mut Client);
[INFO] [stderr]  8 |     fn insert(&self, client: &mut Client);
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr]  9 |     fn insert_many<T: DatabaseType>(data: Vec<T>, client: &mut Client);
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 10 |     fn find_all<T: DatabaseType>() -> Vec<T>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `prev_date` is never read
[INFO] [stderr]    --> src/data/process.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub struct DaytimeData {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] 127 |     date: Date<Local>,
[INFO] [stderr] 128 |     prev_date: Option<Date<Local>>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DaytimeData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config`, `sender`, and `db_client` are never read
[INFO] [stderr]    --> src/data/process.rs:181:5
[INFO] [stderr]     |
[INFO] [stderr] 180 | pub struct DataManager {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] 181 |     config: Config,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 182 |     sender: Sender<Event>,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     db_client: Client,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/data/types.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Rain {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 15 |     pub fn new(timestamp: DateTime<Utc>, count: u32) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FORMAT` is never used
[INFO] [stderr]   --> src/data/types.rs:97:11
[INFO] [stderr]    |
[INFO] [stderr] 97 |     const FORMAT: &'static str = "%Y-%m-%d";
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `serialize` is never used
[INFO] [stderr]    --> src/data/types.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn serialize<S>(
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `deserialize` is never used
[INFO] [stderr]    --> src/data/types.rs:124:12
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub fn deserialize<'de, D>(
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_daytime_data` is never used
[INFO] [stderr]   --> src/api/cache.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl ApiCache {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub fn get_daytime_data(&self) -> DaytimeData {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_daytime_data` is never used
[INFO] [stderr]   --> src/api/cache.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub fn get_daytime_data() -> DaytimeData {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `pi-weather-station` (bin "pi-weather-station" test) generated 31 warnings (run `cargo fix --bin "pi-weather-station" -p pi-weather-station --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pi_weather_station-1a41d06665e31489)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test hardware::dht::test::test_temp ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- hardware::dht::test::test_temp stdout ----
[INFO] [stdout] Error: UnknownModel
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     hardware::dht::test::test_temp
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin pi-weather-station`
[INFO] running `Command { std: "docker" "inspect" "204122ffc45c579402113da49362d61884aa9796ba9c2ed89ef44a2125a5f991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "204122ffc45c579402113da49362d61884aa9796ba9c2ed89ef44a2125a5f991", kill_on_drop: false }`
[INFO] [stdout] 204122ffc45c579402113da49362d61884aa9796ba9c2ed89ef44a2125a5f991
