[INFO] updating cached repository https://github.com/vmasdani/smart-garden [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/vmasdani/smart-garden [INFO] [stderr] 975d455..b91dacf master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b91dacfe9d742f23f38c9c1769095f7334946a9d [INFO] checking vmasdani/smart-garden against try#1a608893c03d7722effeb0058e82770bd36b4b3c for pr-66504-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvmasdani%2Fsmart-garden" "/workspace/builds/worker-3/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/vmasdani/smart-garden on toolchain 1a608893c03d7722effeb0058e82770bd36b4b3c [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/vmasdani/smart-garden [INFO] finished tweaking git repo https://github.com/vmasdani/smart-garden [INFO] tweaked toml for git repo https://github.com/vmasdani/smart-garden written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/vmasdani/smart-garden already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "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] 84272d80a958cd1267755e5c5afd9d7f3e1ecac5e36c4505d92ed8fffc602a8c [INFO] running `"docker" "start" "-a" "84272d80a958cd1267755e5c5afd9d7f3e1ecac5e36c4505d92ed8fffc602a8c"` [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling syn v1.0.6 [INFO] [stderr] Compiling ssd1306 v0.2.6 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking machine-ip v0.2.1 [INFO] [stderr] Checking mosquitto-client v0.1.5 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling sqlite3-src v0.2.9 [INFO] [stderr] Compiling wiringpi v0.2.4 [INFO] [stderr] Checking qrcode v0.8.0 [INFO] [stderr] Checking nix v0.6.0 [INFO] [stderr] Checking sysfs_gpio v0.5.4 [INFO] [stderr] Checking i2cdev v0.4.2 [INFO] [stderr] Checking sqlite3-sys v0.12.0 [INFO] [stderr] Checking sqlite v0.25.0 [INFO] [stderr] Checking tinytga v0.1.0 [INFO] [stderr] Checking tinybmp v0.1.0 [INFO] [stderr] Checking embedded-graphics v0.4.9 [INFO] [stderr] Checking spidev v0.3.0 [INFO] [stderr] Checking linux-embedded-hal v0.2.2 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Checking serde v1.0.101 [INFO] [stderr] Checking serde_json v1.0.41 [INFO] [stderr] Checking smart_garden v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `Line` [INFO] [stderr] --> src/main.rs:14:43 [INFO] [stderr] | [INFO] [stderr] 14 | use embedded_graphics::primitives::{Rect, Line}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude::*` [INFO] [stderr] --> src/main.rs:17:15 [INFO] [stderr] | [INFO] [stderr] 17 | use ssd1306::{prelude::*, mode::GraphicsMode, Builder}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:266:15 [INFO] [stderr] | [INFO] [stderr] 266 | if(last_hour == cur_hour && last_minute == cur_minute) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:288:19 [INFO] [stderr] | [INFO] [stderr] 288 | if(schedule_counter != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/main.rs:309:26 [INFO] [stderr] | [INFO] [stderr] 309 | while(counter > 0) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:359:23 [INFO] [stderr] | [INFO] [stderr] 359 | if(i == '\n') { [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:364:23 [INFO] [stderr] | [INFO] [stderr] 364 | if(i == ' ') { [INFO] [stderr] | ^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/main.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 394 | / loop { [INFO] [stderr] 395 | | [INFO] [stderr] 396 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 397 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `control` [INFO] [stderr] --> src/main.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | let control = m.subscribe("control", 0).expect("Cannot subscribe to control topic!"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_control` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `schedule` [INFO] [stderr] --> src/main.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let schedule = m.subscribe("schedule/#", 0).expect("Cannot subscribe to schedule!"); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_schedule` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `watering` [INFO] [stderr] --> src/main.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | let watering = m.subscribe("watering/#", 0).expect("Cannot subscribe to watering!"); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_watering` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `power` [INFO] [stderr] --> src/main.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let power = m.subscribe("power", 0).expect("Cannot subscribe to power!"); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_power` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | connection.execute("insert into watering_time(id, minute, second) values(1, 0, 10)"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | m.connect("0.0.0.0", 1883); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:163:21 [INFO] [stderr] | [INFO] [stderr] 163 | connection.execute(format!("insert into schedule(hour, minute) values({}, {})", hour, minute)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:175:21 [INFO] [stderr] | [INFO] [stderr] 175 | connection.execute(format!("delete from schedule where id={}", id)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:210:21 [INFO] [stderr] | [INFO] [stderr] 210 | connection.execute(format!("update watering_time set minute={}, second={} where id=1", minute, second)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | m.loop_until_disconnect(200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused import: `Line` [INFO] [stderr] --> src/main.rs:14:43 [INFO] [stderr] | [INFO] [stderr] 14 | use embedded_graphics::primitives::{Rect, Line}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude::*` [INFO] [stderr] --> src/main.rs:17:15 [INFO] [stderr] | [INFO] [stderr] 17 | use ssd1306::{prelude::*, mode::GraphicsMode, Builder}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:266:15 [INFO] [stderr] | [INFO] [stderr] 266 | if(last_hour == cur_hour && last_minute == cur_minute) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:288:19 [INFO] [stderr] | [INFO] [stderr] 288 | if(schedule_counter != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/main.rs:309:26 [INFO] [stderr] | [INFO] [stderr] 309 | while(counter > 0) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:359:23 [INFO] [stderr] | [INFO] [stderr] 359 | if(i == '\n') { [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:364:23 [INFO] [stderr] | [INFO] [stderr] 364 | if(i == ' ') { [INFO] [stderr] | ^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/main.rs:397:5 [INFO] [stderr] | [INFO] [stderr] 394 | / loop { [INFO] [stderr] 395 | | [INFO] [stderr] 396 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 397 | Ok(()) [INFO] [stderr] | ^^^^^^ unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `control` [INFO] [stderr] --> src/main.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | let control = m.subscribe("control", 0).expect("Cannot subscribe to control topic!"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_control` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `schedule` [INFO] [stderr] --> src/main.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let schedule = m.subscribe("schedule/#", 0).expect("Cannot subscribe to schedule!"); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_schedule` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `watering` [INFO] [stderr] --> src/main.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | let watering = m.subscribe("watering/#", 0).expect("Cannot subscribe to watering!"); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_watering` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `power` [INFO] [stderr] --> src/main.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let power = m.subscribe("power", 0).expect("Cannot subscribe to power!"); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_power` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | connection.execute("insert into watering_time(id, minute, second) values(1, 0, 10)"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | m.connect("0.0.0.0", 1883); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:163:21 [INFO] [stderr] | [INFO] [stderr] 163 | connection.execute(format!("insert into schedule(hour, minute) values({}, {})", hour, minute)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:175:21 [INFO] [stderr] | [INFO] [stderr] 175 | connection.execute(format!("delete from schedule where id={}", id)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:210:21 [INFO] [stderr] | [INFO] [stderr] 210 | connection.execute(format!("update watering_time set minute={}, second={} where id=1", minute, second)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | m.loop_until_disconnect(200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `"docker" "inspect" "84272d80a958cd1267755e5c5afd9d7f3e1ecac5e36c4505d92ed8fffc602a8c"` [INFO] running `"docker" "rm" "-f" "84272d80a958cd1267755e5c5afd9d7f3e1ecac5e36c4505d92ed8fffc602a8c"` [INFO] [stdout] 84272d80a958cd1267755e5c5afd9d7f3e1ecac5e36c4505d92ed8fffc602a8c