[INFO] cloning repository https://github.com/commonkestrel/driverstation
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/commonkestrel/driverstation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fdriverstation", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fdriverstation'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9a9f69f85044f94e3fe511c77f4128a15848b37d
[INFO] checking commonkestrel/driverstation/9a9f69f85044f94e3fe511c77f4128a15848b37d against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcommonkestrel%2Fdriverstation" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/commonkestrel/driverstation
[INFO] finished tweaking git repo https://github.com/commonkestrel/driverstation
[INFO] tweaked toml for git repo https://github.com/commonkestrel/driverstation written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/commonkestrel/driverstation on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/commonkestrel/driverstation 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 550616df82f74261e31b1ed71d482e4d6ce0ba3ef7b613e11e35143659c19c33
[INFO] running `Command { std: "docker" "start" "-a" "550616df82f74261e31b1ed71d482e4d6ce0ba3ef7b613e11e35143659c19c33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "550616df82f74261e31b1ed71d482e4d6ce0ba3ef7b613e11e35143659c19c33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "550616df82f74261e31b1ed71d482e4d6ce0ba3ef7b613e11e35143659c19c33", kill_on_drop: false }`
[INFO] [stdout] 550616df82f74261e31b1ed71d482e4d6ce0ba3ef7b613e11e35143659c19c33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7cbbcb7cc5671242cc8163a8937cb800b185097ea263600a14ab31a4e49fb6ab
[INFO] running `Command { std: "docker" "start" "-a" "7cbbcb7cc5671242cc8163a8937cb800b185097ea263600a14ab31a4e49fb6ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.156
[INFO] [stderr]    Compiling serde v1.0.207
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking quote v1.0.36
[INFO] [stderr]     Checking syn v2.0.74
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stdout] warning: unused import: `TokenStreamExt`
[INFO] [stdout]  --> macros/src/lib.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{quote, ToTokens, TokenStreamExt};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprClosure`, `PathArguments`, and `punctuated::Punctuated`
[INFO] [stdout]  --> macros/src/lib.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse::Parse, punctuated::Punctuated, spanned::Spanned, Data, DeriveInput, ExprClosure, Ident,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^                                       ^^^^^^^^^^^
[INFO] [stdout] 8 |     LitByteStr, Meta, Path, PathArguments, Token,
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenStreamExt`
[INFO] [stdout]  --> macros/src/lib.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{quote, ToTokens, TokenStreamExt};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprClosure`, `PathArguments`, and `punctuated::Punctuated`
[INFO] [stdout]  --> macros/src/lib.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse::Parse, punctuated::Punctuated, spanned::Spanned, Data, DeriveInput, ExprClosure, Ident,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^                                       ^^^^^^^^^^^
[INFO] [stdout] 8 |     LitByteStr, Meta, Path, PathArguments, Token,
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> macros/src/lib.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn parse(mut input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> macros/src/lib.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn parse(mut input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inline` is never constructed
[INFO] [stdout]   --> macros/src/lib.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | enum Callback {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] 52 |     Label(Path),
[INFO] [stdout] 53 |     Inline {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inline` is never constructed
[INFO] [stdout]   --> macros/src/lib.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | enum Callback {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] 52 |     Label(Path),
[INFO] [stdout] 53 |     Inline {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.207
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stdout] warning: unused import: `TokenStreamExt`
[INFO] [stdout]  --> macros/src/lib.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{quote, ToTokens, TokenStreamExt};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprClosure`, `PathArguments`, and `punctuated::Punctuated`
[INFO] [stdout]  --> macros/src/lib.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     parse::Parse, punctuated::Punctuated, spanned::Spanned, Data, DeriveInput, ExprClosure, Ident,
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^                                       ^^^^^^^^^^^
[INFO] [stdout] 8 |     LitByteStr, Meta, Path, PathArguments, Token,
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> macros/src/lib.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn parse(mut input: syn::parse::ParseStream) -> syn::Result<Self> {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inline` is never constructed
[INFO] [stdout]   --> macros/src/lib.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | enum Callback {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] 52 |     Label(Path),
[INFO] [stdout] 53 |     Inline {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio v1.39.2
[INFO] [stderr]     Checking driverstation v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ffi::CString`, `self`, and `size_of`
[INFO] [stdout]  --> src/recv/entry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ffi::CString,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 3 |     mem::{self, size_of},
[INFO] [stdout]   |           ^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::task::Poll`
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::task::Poll;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `select` and `self`
[INFO] [stdout]   --> src/lib.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |     io::{self, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 29 |     select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ffi::CString`, `self`, and `size_of`
[INFO] [stdout]  --> src/recv/entry.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ffi::CString,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 3 |     mem::{self, size_of},
[INFO] [stdout]   |           ^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::task::Poll`
[INFO] [stdout]   --> src/lib.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::task::Poll;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `select` and `self`
[INFO] [stdout]   --> src/lib.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 |     io::{self, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 29 |     select,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team_ip`
[INFO] [stdout]    --> src/lib.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     team_ip: [u8; 4],
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/lib.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     state: Arc<RwLock<State>>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `team_ip`
[INFO] [stdout]    --> src/lib.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     team_ip: [u8; 4],
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_team_ip`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/lib.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     state: Arc<RwLock<State>>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/lib.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 Err(err) => {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/lib.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |                 Err(err) => {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIM_IP` is never used
[INFO] [stdout]   --> src/lib.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const SIM_IP: [u8; 4] = [127, 0, 0, 1];
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DS_SIM_UDP_IP` is never used
[INFO] [stdout]   --> src/lib.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const DS_SIM_UDP_IP: [u8; 4] = [127, 0, 0, 1];
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rt` is never read
[INFO] [stdout]   --> src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Robot {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     rt: sync::Runtime,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Robot` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bits` is never used
[INFO] [stdout]    --> src/lib.rs:445:14
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Mode {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 445 |     const fn from_bits(value: u8) -> Self {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tags` is never read
[INFO] [stdout]  --> src/recv/tcp.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TcpResponse {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 6 |     tags: Vec<Tag>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/send/udp.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Control {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn mode(&self) -> Mode {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn with_mode(mut self, mode: Mode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_enabled(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn fms_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn with_fms_connected(mut self, fms_connected: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn estopped(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn with_estopped(mut self, estopped: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reboot_roborio`, `with_reboot_roborio`, `restart_code`, `with_restart_code`, `ds_connected`, and `with_ds_connected` are never used
[INFO] [stdout]    --> src/send/udp.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl Request {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn reboot_roborio(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn with_reboot_roborio(mut self, reboot_roborio: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn restart_code(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn with_restart_code(mut self, restart_code: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn ds_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn with_ds_connected(mut self, ds_connected: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_on` is never used
[INFO] [stdout]   --> src/sync.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn block_on<F: Future>(&self, future: F) -> F::Output {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/send/tcp.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |         out.push(unsafe { std::mem::transmute(self.ty as i8) });
[INFO] [stdout]     |                           -------------------^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: replace this with: `i8::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/send/udp.rs:307:44
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     .map(|signed| unsafe { std::mem::transmute::<i8, u8>(*signed) });
[INFO] [stdout]     |                                            -----------------------------^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIM_IP` is never used
[INFO] [stdout]   --> src/lib.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const SIM_IP: [u8; 4] = [127, 0, 0, 1];
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DS_SIM_UDP_IP` is never used
[INFO] [stdout]   --> src/lib.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const DS_SIM_UDP_IP: [u8; 4] = [127, 0, 0, 1];
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rt` is never read
[INFO] [stdout]   --> src/lib.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Robot {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     rt: sync::Runtime,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Robot` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bits` is never used
[INFO] [stdout]    --> src/lib.rs:445:14
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Mode {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 445 |     const fn from_bits(value: u8) -> Self {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tags` is never read
[INFO] [stdout]  --> src/recv/tcp.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TcpResponse {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 6 |     tags: Vec<Tag>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/send/udp.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Control {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn mode(&self) -> Mode {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn with_mode(mut self, mode: Mode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn with_enabled(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn fms_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn with_fms_connected(mut self, fms_connected: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn estopped(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn with_estopped(mut self, estopped: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reboot_roborio`, `with_reboot_roborio`, `restart_code`, `with_restart_code`, `ds_connected`, and `with_ds_connected` are never used
[INFO] [stdout]    --> src/send/udp.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl Request {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn reboot_roborio(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn with_reboot_roborio(mut self, reboot_roborio: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn restart_code(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn with_restart_code(mut self, restart_code: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn ds_connected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn with_ds_connected(mut self, ds_connected: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_on` is never used
[INFO] [stdout]   --> src/sync.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Runtime {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn block_on<F: Future>(&self, future: F) -> F::Output {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/send/tcp.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |         out.push(unsafe { std::mem::transmute(self.ty as i8) });
[INFO] [stdout]     |                           -------------------^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: replace this with: `i8::cast_unsigned`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/send/udp.rs:307:44
[INFO] [stdout]     |
[INFO] [stdout] 307 |                     .map(|signed| unsafe { std::mem::transmute::<i8, u8>(*signed) });
[INFO] [stdout]     |                                            -----------------------------^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: replace this with: `i8::cast_unsigned`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `robot`
[INFO] [stdout]  --> examples/conn.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let robot = Robot::new(8891);
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_robot`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Future<Output = bool>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> examples/enable.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 |         println!("{}", robot.enabled());
[INFO] [stdout]    |                   --   ^^^^^^^^^^^^^^^ `impl Future<Output = bool>` cannot be formatted with the default formatter
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   required by this formatting parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `impl Future<Output = bool>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Future<Output = f32>` doesn't implement `std::fmt::Display`
[INFO] [stdout]   --> examples/enable.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 |         println!("{}", robot.battery());
[INFO] [stdout]    |                   --   ^^^^^^^^^^^^^^^ `impl Future<Output = f32>` cannot be formatted with the default formatter
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   required by this formatting parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `std::fmt::Display` is not implemented for `impl Future<Output = f32>`
[INFO] [stdout]    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]    = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `driverstation` (example "enable") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "7cbbcb7cc5671242cc8163a8937cb800b185097ea263600a14ab31a4e49fb6ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cbbcb7cc5671242cc8163a8937cb800b185097ea263600a14ab31a4e49fb6ab", kill_on_drop: false }`
[INFO] [stdout] 7cbbcb7cc5671242cc8163a8937cb800b185097ea263600a14ab31a4e49fb6ab
