[INFO] fetching crate draw_bridge 0.1.1... [INFO] checking draw_bridge-0.1.1 against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] extracting crate draw_bridge 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] validating manifest of crates.io crate draw_bridge 0.1.1 on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate draw_bridge 0.1.1 [INFO] finished tweaking crates.io crate draw_bridge 0.1.1 [INFO] tweaked toml for crates.io crate draw_bridge 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate crates.io crate draw_bridge 0.1.1 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serial-unix v0.4.0 [INFO] [stderr] Downloaded draw_bridge_derive v0.1.0 [INFO] [stderr] Downloaded libudev v0.2.0 [INFO] [stderr] Downloaded ioctl-rs v0.1.6 [INFO] [stderr] Downloaded serial-core v0.4.0 [INFO] [stderr] Downloaded yaml-rust v0.4.3 [INFO] [stderr] Downloaded chrono v0.4.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ce258a8eed68976e67d3edff6f875a5c92fc200a5adb4c59cf06f26a9ccfc478 [INFO] running `Command { std: "docker" "start" "-a" "ce258a8eed68976e67d3edff6f875a5c92fc200a5adb4c59cf06f26a9ccfc478", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ce258a8eed68976e67d3edff6f875a5c92fc200a5adb4c59cf06f26a9ccfc478", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce258a8eed68976e67d3edff6f875a5c92fc200a5adb4c59cf06f26a9ccfc478", kill_on_drop: false }` [INFO] [stdout] ce258a8eed68976e67d3edff6f875a5c92fc200a5adb4c59cf06f26a9ccfc478 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3b2efc84efe06de53de1ab2e0985d2604d896feca60b972f6d2ad0b59c137ba [INFO] running `Command { std: "docker" "start" "-a" "d3b2efc84efe06de53de1ab2e0985d2604d896feca60b972f6d2ad0b59c137ba", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling serde v1.0.100 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.3 [INFO] [stderr] Checking serde v0.8.23 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking yaml-rust v0.4.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking rust-ini v0.13.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking serial-core v0.4.0 [INFO] [stderr] Checking libudev-sys v0.1.4 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking ioctl-rs v0.1.6 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking term v0.5.2 [INFO] [stderr] Checking libudev v0.2.0 [INFO] [stderr] Checking serial-unix v0.4.0 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking simplelog v0.5.3 [INFO] [stderr] Checking serde_test v0.8.23 [INFO] [stderr] Checking linked-hash-map v0.3.0 [INFO] [stderr] Checking serde-hjson v0.8.2 [INFO] [stderr] Compiling serde_derive v1.0.100 [INFO] [stderr] Compiling serde_json v1.0.40 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking config v0.9.3 [INFO] [stderr] Compiling draw_bridge_derive v0.1.0 [INFO] [stderr] Checking draw_bridge v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:103:28 [INFO] [stdout] | [INFO] [stdout] 103 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/instructions.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:103:28 [INFO] [stdout] | [INFO] [stdout] 103 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/instructions.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Response` is never used [INFO] [stdout] --> src/api.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Response { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_test_json` is never used [INFO] [stdout] --> src/api.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn build_test_json(cmd: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `noop`, and `fail` are never used [INFO] [stdout] --> src/commands.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Response { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(msg: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn noop() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn fail(msg: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidCommand` is never constructed [INFO] [stdout] --> src/commands.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 47 | InvalidCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidationResult` is never used [INFO] [stdout] --> src/commands.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type ValidationResult = std::result::Result<(), Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/commands.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait Command: fmt::Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 64 | fn validate(&self, _ctx: Config) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_params` is never used [INFO] [stdout] --> src/commands.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait FromParams { [INFO] [stdout] | ---------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_params(params: &[String]) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoResponse` is never used [INFO] [stdout] --> src/commands.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `HomeMove`, `QueryPen`, `QuerySteps`, and `SetPen` are never constructed [INFO] [stdout] --> src/instructions.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum EBBInstruction { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 120 | HomeMove, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | QueryPen, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | QuerySteps, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 129 | SetPen(PenPosition), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `match_to_i32` is never used [INFO] [stdout] --> src/instructions.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn match_to_i32(m: Option) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MotorStatus` is never constructed [INFO] [stdout] --> src/instructions.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct MotorStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mocket` is never constructed [INFO] [stdout] --> src/plotter.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | struct Mocket { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `new_with_read_write`, `new_with_read`, and `new_with_write` are never used [INFO] [stdout] --> src/plotter.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl Mocket { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 115 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn new_with_read_write(read_buf: Vec, write_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn new_with_read(read_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn new_with_write(write_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/runtime.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 10 | pub config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_client` is never used [INFO] [stdout] --> src/socket.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_client(stream: UnixStream) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `describe` is never used [INFO] [stdout] --> src/udev.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn describe() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRODUCT_ID` is never used [INFO] [stdout] --> src/udev.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static PRODUCT_ID: &str = "ID_MODEL_ID"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MODEL` is never used [INFO] [stdout] --> src/udev.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub static MODEL: &str = "EiBotBoard"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:366:30 [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:376:30 [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:386:30 [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Response` is never used [INFO] [stdout] --> src/api.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Response { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `noop`, and `fail` are never used [INFO] [stdout] --> src/commands.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Response { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(msg: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn noop() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn fail(msg: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidCommand` is never constructed [INFO] [stdout] --> src/commands.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 47 | InvalidCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidationResult` is never used [INFO] [stdout] --> src/commands.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type ValidationResult = std::result::Result<(), Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/commands.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait Command: fmt::Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 64 | fn validate(&self, _ctx: Config) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_params` is never used [INFO] [stdout] --> src/commands.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait FromParams { [INFO] [stdout] | ---------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_params(params: &[String]) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoResponse` is never used [INFO] [stdout] --> src/commands.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `HomeMove`, `QueryMotors`, `QueryPen`, `QuerySteps`, and `SetPen` are never constructed [INFO] [stdout] --> src/instructions.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum EBBInstruction { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 120 | HomeMove, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | QueryMotors, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 127 | QueryPen, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | QuerySteps, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 129 | SetPen(PenPosition), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `match_to_i32` is never used [INFO] [stdout] --> src/instructions.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn match_to_i32(m: Option) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MotorStatus` is never constructed [INFO] [stdout] --> src/instructions.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct MotorStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/runtime.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 10 | pub config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_client` is never used [INFO] [stdout] --> src/socket.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_client(stream: UnixStream) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `describe` is never used [INFO] [stdout] --> src/udev.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn describe() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRODUCT_ID` is never used [INFO] [stdout] --> src/udev.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static PRODUCT_ID: &str = "ID_MODEL_ID"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MODEL` is never used [INFO] [stdout] --> src/udev.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub static MODEL: &str = "EiBotBoard"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.45s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "d3b2efc84efe06de53de1ab2e0985d2604d896feca60b972f6d2ad0b59c137ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3b2efc84efe06de53de1ab2e0985d2604d896feca60b972f6d2ad0b59c137ba", kill_on_drop: false }` [INFO] [stdout] d3b2efc84efe06de53de1ab2e0985d2604d896feca60b972f6d2ad0b59c137ba [INFO] checking draw_bridge-0.1.1 against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] extracting crate draw_bridge 0.1.1 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate draw_bridge 0.1.1 on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate draw_bridge 0.1.1 [INFO] finished tweaking crates.io crate draw_bridge 0.1.1 [INFO] tweaked toml for crates.io crate draw_bridge 0.1.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate draw_bridge 0.1.1 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6620330ec624d343cf5da1a6d085ce2b403d2f9f694838a82828d8adc6c2a6a [INFO] running `Command { std: "docker" "start" "-a" "a6620330ec624d343cf5da1a6d085ce2b403d2f9f694838a82828d8adc6c2a6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6620330ec624d343cf5da1a6d085ce2b403d2f9f694838a82828d8adc6c2a6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6620330ec624d343cf5da1a6d085ce2b403d2f9f694838a82828d8adc6c2a6a", kill_on_drop: false }` [INFO] [stdout] a6620330ec624d343cf5da1a6d085ce2b403d2f9f694838a82828d8adc6c2a6a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a08a48f71d00e42deddf2b4a925307fe197223515134bee9e182237d3de89b2 [INFO] running `Command { std: "docker" "start" "-a" "6a08a48f71d00e42deddf2b4a925307fe197223515134bee9e182237d3de89b2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.62 [INFO] [stderr] Compiling serde v1.0.100 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.3 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Checking serde v0.8.23 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking yaml-rust v0.4.3 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking rust-ini v0.13.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking libudev-sys v0.1.4 [INFO] [stderr] Checking ioctl-rs v0.1.6 [INFO] [stderr] Checking serial-core v0.4.0 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking libudev v0.2.0 [INFO] [stderr] Checking term v0.5.2 [INFO] [stderr] Checking serial-unix v0.4.0 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking simplelog v0.5.3 [INFO] [stderr] Checking serde_test v0.8.23 [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking linked-hash-map v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.100 [INFO] [stderr] Checking serde-hjson v0.8.2 [INFO] [stderr] Compiling serde_json v1.0.40 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking config v0.9.3 [INFO] [stderr] Compiling draw_bridge_derive v0.1.0 [INFO] [stderr] Checking draw_bridge v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:103:28 [INFO] [stdout] | [INFO] [stdout] 103 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/instructions.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/api.rs:103:28 [INFO] [stdout] | [INFO] [stdout] 103 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/instructions.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use std::convert::{From, TryFrom}; [INFO] [stdout] | ^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Response` is never used [INFO] [stdout] --> src/api.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Response { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `noop`, and `fail` are never used [INFO] [stdout] --> src/commands.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Response { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(msg: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn noop() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn fail(msg: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidCommand` is never constructed [INFO] [stdout] --> src/commands.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 47 | InvalidCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidationResult` is never used [INFO] [stdout] --> src/commands.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type ValidationResult = std::result::Result<(), Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/commands.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait Command: fmt::Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 64 | fn validate(&self, _ctx: Config) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_params` is never used [INFO] [stdout] --> src/commands.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait FromParams { [INFO] [stdout] | ---------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_params(params: &[String]) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoResponse` is never used [INFO] [stdout] --> src/commands.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `HomeMove`, `QueryMotors`, `QueryPen`, `QuerySteps`, and `SetPen` are never constructed [INFO] [stdout] --> src/instructions.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum EBBInstruction { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 120 | HomeMove, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | QueryMotors, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 127 | QueryPen, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | QuerySteps, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 129 | SetPen(PenPosition), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `match_to_i32` is never used [INFO] [stdout] --> src/instructions.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn match_to_i32(m: Option) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MotorStatus` is never constructed [INFO] [stdout] --> src/instructions.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct MotorStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/runtime.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 10 | pub config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_client` is never used [INFO] [stdout] --> src/socket.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_client(stream: UnixStream) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `describe` is never used [INFO] [stdout] --> src/udev.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn describe() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRODUCT_ID` is never used [INFO] [stdout] --> src/udev.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static PRODUCT_ID: &str = "ID_MODEL_ID"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MODEL` is never used [INFO] [stdout] --> src/udev.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub static MODEL: &str = "EiBotBoard"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Response` is never used [INFO] [stdout] --> src/api.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Response { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_test_json` is never used [INFO] [stdout] --> src/api.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | fn build_test_json(cmd: &str, body: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `noop`, and `fail` are never used [INFO] [stdout] --> src/commands.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Response { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(msg: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn noop() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn fail(msg: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidCommand` is never constructed [INFO] [stdout] --> src/commands.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 47 | InvalidCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ValidationResult` is never used [INFO] [stdout] --> src/commands.rs:55:6 [INFO] [stdout] | [INFO] [stdout] 55 | type ValidationResult = std::result::Result<(), Error>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/commands.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait Command: fmt::Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 64 | fn validate(&self, _ctx: Config) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_params` is never used [INFO] [stdout] --> src/commands.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait FromParams { [INFO] [stdout] | ---------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_params(params: &[String]) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoResponse` is never used [INFO] [stdout] --> src/commands.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `HomeMove`, `QueryPen`, `QuerySteps`, and `SetPen` are never constructed [INFO] [stdout] --> src/instructions.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum EBBInstruction { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 120 | HomeMove, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | QueryPen, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | QuerySteps, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 129 | SetPen(PenPosition), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `match_to_i32` is never used [INFO] [stdout] --> src/instructions.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn match_to_i32(m: Option) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MotorStatus` is never constructed [INFO] [stdout] --> src/instructions.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct MotorStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mocket` is never constructed [INFO] [stdout] --> src/plotter.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | struct Mocket { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `new_with_read_write`, `new_with_read`, and `new_with_write` are never used [INFO] [stdout] --> src/plotter.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl Mocket { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 115 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn new_with_read_write(read_buf: Vec, write_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn new_with_read(read_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn new_with_write(write_buf: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/runtime.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 10 | pub config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_client` is never used [INFO] [stdout] --> src/socket.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn handle_client(stream: UnixStream) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `describe` is never used [INFO] [stdout] --> src/udev.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn describe() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PRODUCT_ID` is never used [INFO] [stdout] --> src/udev.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static PRODUCT_ID: &str = "ID_MODEL_ID"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MODEL` is never used [INFO] [stdout] --> src/udev.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | pub static MODEL: &str = "EiBotBoard"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:366:30 [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 366 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:376:30 [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 376 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/plotter.rs:386:30 [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => panic!(e), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => panic!("{}", e), [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 386 | Err(e) => std::panic::panic_any(e), [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.72s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "6a08a48f71d00e42deddf2b4a925307fe197223515134bee9e182237d3de89b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a08a48f71d00e42deddf2b4a925307fe197223515134bee9e182237d3de89b2", kill_on_drop: false }` [INFO] [stdout] 6a08a48f71d00e42deddf2b4a925307fe197223515134bee9e182237d3de89b2