[INFO] fetching crate drogue-es-wifi 0.1.2...
[INFO] testing drogue-es-wifi-0.1.2 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate drogue-es-wifi 0.1.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate drogue-es-wifi 0.1.2
[INFO] finished tweaking crates.io crate drogue-es-wifi 0.1.2
[INFO] tweaked toml for crates.io crate drogue-es-wifi 0.1.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate drogue-es-wifi 0.1.2 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 46 packages to highest compatible versions
[INFO] [stderr]       Adding embedded-hal v0.2.7 (available: v1.0.0)
[INFO] [stderr]       Adding embedded-time v0.10.1 (available: v0.12.1)
[INFO] [stderr]       Adding heapless v0.5.6 (available: v0.9.3)
[INFO] [stderr]       Adding nom v5.1.3 (available: v8.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd
[INFO] running `Command { std: "docker" "start" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling cortex-m v0.7.9
[INFO] [stderr]    Compiling cortex-m-macros v0.7.8
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling vcell v0.1.3
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling volatile-register v0.2.2
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling embedded-hal v1.0.0
[INFO] [stderr]    Compiling heapless v0.5.6
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]    Compiling hash32 v0.1.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling no-std-net v0.4.0
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling generic-array v0.12.4
[INFO] [stderr]    Compiling generic-array v0.13.3
[INFO] [stderr]    Compiling num-integer v0.1.47
[INFO] [stderr]    Compiling num-complex v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling as-slice v0.1.5
[INFO] [stderr]    Compiling aligned v0.3.5
[INFO] [stderr]    Compiling num v0.3.1
[INFO] [stderr]    Compiling embedded-time v0.10.1
[INFO] [stderr]    Compiling drogue-network v0.2.0
[INFO] [stderr]    Compiling drogue-nom-utils v0.1.0
[INFO] [stderr]    Compiling drogue-embedded-timer v0.2.1
[INFO] [stderr]    Compiling drogue-es-wifi v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Consumer`, `Producer`, `String`, `Vec`, and `consts::*`
[INFO] [stdout]  --> src/adapter.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 3 |     Vec,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 4 |     spsc::{Producer, Consumer},
[INFO] [stdout]   |            ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 5 |     consts::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `State`
[INFO] [stdout]  --> src/adapter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::socket::{Socket, State};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_network::addr::HostSocketAddr`
[INFO] [stdout]  --> src/adapter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use drogue_network::addr::HostSocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/adapter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::join`
[INFO] [stdout]   --> src/adapter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::parser::join;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer` and `Producer`
[INFO] [stdout]  --> src/arbiter.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use heapless::{consts::*, String, spsc::{Consumer, Producer}, ArrayLength};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::InputIter`
[INFO] [stdout]   --> src/arbiter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nom::InputIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdapterError`
[INFO] [stdout]   --> src/arbiter.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::adapter::{AdapterError, JoinError, JoinInfo, ConnectError, WriteError, ReadError, CloseError};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::error::ErrorKind`
[INFO] [stdout]   --> src/arbiter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use nom::error::ErrorKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `named_args` and `take`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     named_args,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     take,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `heapless::String`
[INFO] [stdout]   --> src/parser.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use heapless::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::JoinError`
[INFO] [stdout]   --> src/parser.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::adapter::JoinError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / named!(
[INFO] [stdout] 43 | |     pub(crate) join<JoinResponse>,
[INFO] [stdout] 44 | |     do_parse!(
[INFO] [stdout] 45 | |         tag!("[JOIN   ] ") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(
[INFO] [stdout] 62 | |     pub(crate) join_error<JoinResponse>,
[INFO] [stdout] 63 | |     do_parse!(
[INFO] [stdout] 64 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / named!(
[INFO] [stdout] 111 | |     pub(crate) connection_failure<ConnectResponse>,
[INFO] [stdout] 112 | |     do_parse!(
[INFO] [stdout] 113 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/network.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdapterError` and `ReadError`
[INFO] [stdout]  --> src/network.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::adapter::{Adapter, AdapterError, ReadError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nb::Error`
[INFO] [stdout]  --> src/network.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nb::Error;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embedded_hal::blocking::spi::Transfer`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use embedded_hal::blocking::spi::Transfer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputPin` and `OutputPin`
[INFO] [stdout]   --> src/lib.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use embedded_hal::digital::v2::{OutputPin, InputPin};
[INFO] [stdout]    |                                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arbiter::Arbiter`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::arbiter::Arbiter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::Adapter`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::adapter::Adapter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `consts::*` and `spsc::Queue`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     consts::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     spsc::Queue
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             JoinInfo::Open => {
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 71 |             JoinInfo::Wep { ssid, password } => {
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adapter.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut arbiter = Arbiter::new(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clock` is never read
[INFO] [stdout]   --> src/arbiter.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Arbiter<'clock, Spi, ChipSelectPin, ReadyPin, WakeupPin, ResetPin, Clock>
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     clock: &'clock Clock,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Connected` is never constructed
[INFO] [stdout]  --> src/socket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) enum State {
[INFO] [stdout]   |                 ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |     Connected,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_blocking` and `is_timeout` are never used
[INFO] [stdout]   --> src/socket.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Socket {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub(crate) fn is_blocking(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn is_timeout(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let _ = self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let _ = self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&let _ = command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |             self.initialize();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let _ = self.initialize();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         self.wakeup.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = self.wakeup.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         self.reset.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = self.reset.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.reset.set_high();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.reset.set_high();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &command!(U36, "CB=2"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &let _ = command!(U36, "CB=2"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:254:22
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &let _ = command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &command!(U72, "C2={}", password),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &let _ = command!(U72, "C2={}", password),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:262:22
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &command!(U8, "C3=4"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &let _ = command!(U8, "C3=4"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:266:50
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&let _ = command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:303:14
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:309:22
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &command!(U8,"P1=0"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &let _ = command!(U8,"P1=0"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:314:22
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &command!(U8,"P1=1"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &let _ = command!(U8,"P1=1"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &let _ = command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &let _ = command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:327:42
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&let _ = command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:341:14
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&let _ = command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:369:23
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = let _ = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let _ = self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &let _ = command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &command!(U16, "S1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &let _ = command!(U16, "S1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:457:14
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:467:14
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &command!( U16, "R1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &let _ = command!( U16, "R1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:472:14
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &command!(U8, "R2=15"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &let _ = command!(U8, "R2=15"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:477:14
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &command!(U8, "R3=1"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &let _ = command!(U8, "R3=1"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let _ = pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.pin.set_low();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = self.pin.set_low();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         self.pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = self.pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 20.12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: drogue-es-wifi v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `Consumer`, `Producer`, `String`, `Vec`, and `consts::*`
[INFO] [stdout]  --> src/adapter.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 3 |     Vec,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 4 |     spsc::{Producer, Consumer},
[INFO] [stdout]   |            ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 5 |     consts::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `State`
[INFO] [stdout]  --> src/adapter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::socket::{Socket, State};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_network::addr::HostSocketAddr`
[INFO] [stdout]  --> src/adapter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use drogue_network::addr::HostSocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/adapter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::join`
[INFO] [stdout]   --> src/adapter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::parser::join;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer` and `Producer`
[INFO] [stdout]  --> src/arbiter.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use heapless::{consts::*, String, spsc::{Consumer, Producer}, ArrayLength};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::InputIter`
[INFO] [stdout]   --> src/arbiter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nom::InputIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdapterError`
[INFO] [stdout]   --> src/arbiter.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::adapter::{AdapterError, JoinError, JoinInfo, ConnectError, WriteError, ReadError, CloseError};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::error::ErrorKind`
[INFO] [stdout]   --> src/arbiter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use nom::error::ErrorKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `named_args` and `take`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     named_args,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     take,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `heapless::String`
[INFO] [stdout]   --> src/parser.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use heapless::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::JoinError`
[INFO] [stdout]   --> src/parser.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::adapter::JoinError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / named!(
[INFO] [stdout] 43 | |     pub(crate) join<JoinResponse>,
[INFO] [stdout] 44 | |     do_parse!(
[INFO] [stdout] 45 | |         tag!("[JOIN   ] ") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(
[INFO] [stdout] 62 | |     pub(crate) join_error<JoinResponse>,
[INFO] [stdout] 63 | |     do_parse!(
[INFO] [stdout] 64 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / named!(
[INFO] [stdout] 111 | |     pub(crate) connection_failure<ConnectResponse>,
[INFO] [stdout] 112 | |     do_parse!(
[INFO] [stdout] 113 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/network.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdapterError` and `ReadError`
[INFO] [stdout]  --> src/network.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::adapter::{Adapter, AdapterError, ReadError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nb::Error`
[INFO] [stdout]  --> src/network.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nb::Error;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embedded_hal::blocking::spi::Transfer`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use embedded_hal::blocking::spi::Transfer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputPin` and `OutputPin`
[INFO] [stdout]   --> src/lib.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use embedded_hal::digital::v2::{OutputPin, InputPin};
[INFO] [stdout]    |                                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arbiter::Arbiter`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::arbiter::Arbiter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::Adapter`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::adapter::Adapter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `consts::*` and `spsc::Queue`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     consts::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     spsc::Queue
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             JoinInfo::Open => {
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 71 |             JoinInfo::Wep { ssid, password } => {
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adapter.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut arbiter = Arbiter::new(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clock` is never read
[INFO] [stdout]   --> src/arbiter.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Arbiter<'clock, Spi, ChipSelectPin, ReadyPin, WakeupPin, ResetPin, Clock>
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     clock: &'clock Clock,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Connected` is never constructed
[INFO] [stdout]  --> src/socket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) enum State {
[INFO] [stdout]   |                 ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |     Connected,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_blocking` and `is_timeout` are never used
[INFO] [stdout]   --> src/socket.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Socket {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub(crate) fn is_blocking(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn is_timeout(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let _ = self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let _ = self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&let _ = command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |             self.initialize();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let _ = self.initialize();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         self.wakeup.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = self.wakeup.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         self.reset.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = self.reset.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.reset.set_high();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.reset.set_high();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &command!(U36, "CB=2"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &let _ = command!(U36, "CB=2"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:254:22
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &let _ = command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &command!(U72, "C2={}", password),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &let _ = command!(U72, "C2={}", password),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:262:22
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &command!(U8, "C3=4"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &let _ = command!(U8, "C3=4"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:266:50
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&let _ = command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:303:14
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:309:22
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &command!(U8,"P1=0"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &let _ = command!(U8,"P1=0"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:314:22
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &command!(U8,"P1=1"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &let _ = command!(U8,"P1=1"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &let _ = command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &let _ = command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:327:42
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&let _ = command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:341:14
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&let _ = command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:369:23
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = let _ = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let _ = self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &let _ = command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &command!(U16, "S1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &let _ = command!(U16, "S1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:457:14
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:467:14
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &command!( U16, "R1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &let _ = command!( U16, "R1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:472:14
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &command!(U8, "R2=15"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &let _ = command!(U8, "R2=15"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:477:14
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &command!(U8, "R3=1"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &let _ = command!(U8, "R3=1"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let _ = pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.pin.set_low();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = self.pin.set_low();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         self.pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = self.pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling drogue-es-wifi v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Consumer`, `Producer`, `String`, `Vec`, and `consts::*`
[INFO] [stdout]  --> src/adapter.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     String,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 3 |     Vec,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 4 |     spsc::{Producer, Consumer},
[INFO] [stdout]   |            ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 5 |     consts::*,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `State`
[INFO] [stdout]  --> src/adapter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::socket::{Socket, State};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_network::addr::HostSocketAddr`
[INFO] [stdout]  --> src/adapter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use drogue_network::addr::HostSocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/adapter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::join`
[INFO] [stdout]   --> src/adapter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::parser::join;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer` and `Producer`
[INFO] [stdout]  --> src/arbiter.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | use heapless::{consts::*, String, spsc::{Consumer, Producer}, ArrayLength};
[INFO] [stdout]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::InputIter`
[INFO] [stdout]   --> src/arbiter.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use nom::InputIter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdapterError`
[INFO] [stdout]   --> src/arbiter.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::adapter::{AdapterError, JoinError, JoinInfo, ConnectError, WriteError, ReadError, CloseError};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::error::ErrorKind`
[INFO] [stdout]   --> src/arbiter.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use nom::error::ErrorKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `named_args` and `take`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     named_args,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     take,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `heapless::String`
[INFO] [stdout]   --> src/parser.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use heapless::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::JoinError`
[INFO] [stdout]   --> src/parser.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::adapter::JoinError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / named!(
[INFO] [stdout] 43 | |     pub(crate) join<JoinResponse>,
[INFO] [stdout] 44 | |     do_parse!(
[INFO] [stdout] 45 | |         tag!("[JOIN   ] ") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 57 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / named!(
[INFO] [stdout] 62 | |     pub(crate) join_error<JoinResponse>,
[INFO] [stdout] 63 | |     do_parse!(
[INFO] [stdout] 64 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / named!(
[INFO] [stdout] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stdout] 74 | |     do_parse!(
[INFO] [stdout] 75 | |         tag!("\r\n") >>
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | / named!(
[INFO] [stdout]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stdout]  97 | |     do_parse!(
[INFO] [stdout]  98 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / named!(
[INFO] [stdout] 111 | |     pub(crate) connection_failure<ConnectResponse>,
[INFO] [stdout] 112 | |     do_parse!(
[INFO] [stdout] 113 | |         take_until!( "ERROR" ) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / named!(
[INFO] [stdout] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stdout] 123 | |     alt!(
[INFO] [stdout] 124 | |         complete!(connected)
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / named!(
[INFO] [stdout] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stdout] 137 | |     do_parse!(
[INFO] [stdout] 138 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | / named!(
[INFO] [stdout] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stdout] 150 | |     do_parse!(
[INFO] [stdout] 151 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:161:1
[INFO] [stdout]     |
[INFO] [stdout] 161 | / named!(
[INFO] [stdout] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stdout] 163 | |     alt!(
[INFO] [stdout] 164 | |           complete!(closed)
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / named!(
[INFO] [stdout] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stdout] 177 | |     do_parse!(
[INFO] [stdout] 178 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:189:1
[INFO] [stdout]     |
[INFO] [stdout] 189 | / named!(
[INFO] [stdout] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stdout] 191 | |     do_parse!(
[INFO] [stdout] 192 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / named!(
[INFO] [stdout] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stdout] 205 | |     alt!(
[INFO] [stdout] 206 | |           complete!(write_ok)
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / named!(
[INFO] [stdout] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stdout] 220 | |     do_parse!(
[INFO] [stdout] 221 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:232:1
[INFO] [stdout]     |
[INFO] [stdout] 232 | / named!(
[INFO] [stdout] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stdout] 234 | |     do_parse!(
[INFO] [stdout] 235 | |         tag!("\r\n") >>
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / named!(
[INFO] [stdout] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stdout] 248 | |     alt!(
[INFO] [stdout] 249 | |           complete!(read_data)
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | | );
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::cell::RefCell`
[INFO] [stdout]  --> src/network.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use core::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdapterError` and `ReadError`
[INFO] [stdout]  --> src/network.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::adapter::{Adapter, AdapterError, ReadError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nb::Error`
[INFO] [stdout]  --> src/network.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use nb::Error;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use drogue_embedded_timer::Delay;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embedded_hal::blocking::spi::Transfer`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use embedded_hal::blocking::spi::Transfer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputPin` and `OutputPin`
[INFO] [stdout]   --> src/lib.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use embedded_hal::digital::v2::{OutputPin, InputPin};
[INFO] [stdout]    |                                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arbiter::Arbiter`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::arbiter::Arbiter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::adapter::Adapter`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::adapter::Adapter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `consts::*` and `spsc::Queue`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     consts::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 19 |     spsc::Queue
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/adapter.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             JoinInfo::Open => {
[INFO] [stdout]    |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 71 |             JoinInfo::Wep { ssid, password } => {
[INFO] [stdout]    |             -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 80 |             _ => {
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adapter.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut arbiter = Arbiter::new(
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/network.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clock` is never read
[INFO] [stdout]   --> src/arbiter.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Arbiter<'clock, Spi, ChipSelectPin, ReadyPin, WakeupPin, ResetPin, Clock>
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 62 |     clock: &'clock Clock,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Connected` is never constructed
[INFO] [stdout]  --> src/socket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub(crate) enum State {
[INFO] [stdout]   |                 ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |     Connected,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_blocking` and `is_timeout` are never used
[INFO] [stdout]   --> src/socket.rs:37:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Socket {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub(crate) fn is_blocking(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn is_timeout(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let _ = self.spi.transfer(&mut chunk);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let _ = self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |             self.send_string(&let _ = command!(U8, "MT=1"), &mut response);
[INFO] [stdout]     |                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |             self.initialize();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 148 |             let _ = self.initialize();
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         self.wakeup.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = self.wakeup.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |         self.reset.set_low();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 171 |         let _ = self.reset.set_low();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |         self.reset.set_high();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 173 |         let _ = self.reset.set_high();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &command!(U36, "CB=2"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &let _ = command!(U36, "CB=2"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:254:22
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &let _ = command!(U36, "C1={}", ssid),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &command!(U72, "C2={}", password),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &let _ = command!(U72, "C2={}", password),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:262:22
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &command!(U8, "C3=4"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &let _ = command!(U8, "C3=4"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:266:50
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |                 let response = self.send_string(&let _ = command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stdout]     |                                                  +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:303:14
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:309:22
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &command!(U8,"P1=0"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     &let _ = command!(U8,"P1=0"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:314:22
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &command!(U8,"P1=1"),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |                     &let _ = command!(U8,"P1=1"),
[INFO] [stdout]     |                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:320:14
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 320 |             &let _ = command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &let _ = command!(U32, "P4={}", remote.port()),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:327:42
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let response = self.send_string(&let _ = command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:341:14
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:344:42
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let response = self.send_string(&let _ = command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stdout]     |                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:369:23
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let command = let _ = command!(U8, "P0={}", socket_num);
[INFO] [stdout]     |                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let _ = self.send(command.as_bytes(), &mut response);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 373 |             &let _ = command!(U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:378:14
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &command!(U16, "S1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 378 |             &let _ = command!(U16, "S1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:414:17
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 414 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:457:14
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 457 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:467:14
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &command!( U16, "R1={}", len),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 467 |             &let _ = command!( U16, "R1={}", len),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:472:14
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &command!(U8, "R2=15"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 472 |             &let _ = command!(U8, "R2=15"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:477:14
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &command!(U8, "R3=1"),
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 477 |             &let _ = command!(U8, "R3=1"),
[INFO] [stdout]     |              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:488:13
[INFO] [stdout]     |
[INFO] [stdout] 488 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 488 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/arbiter.rs:491:13
[INFO] [stdout]     |
[INFO] [stdout] 491 |             self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 491 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let _ = pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.pin.set_low();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let _ = self.pin.set_low();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chip_select.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         self.pin.set_high();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let _ = self.pin.set_high();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.59s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: drogue-es-wifi v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Consumer`, `Producer`, `String`, `Vec`, and `consts::*`
[INFO] [stderr]  --> src/adapter.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     String,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 3 |     Vec,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 4 |     spsc::{Producer, Consumer},
[INFO] [stderr]   |            ^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 5 |     consts::*,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `State`
[INFO] [stderr]  --> src/adapter.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::socket::{Socket, State};
[INFO] [stderr]   |                             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `drogue_network::addr::HostSocketAddr`
[INFO] [stderr]  --> src/adapter.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use drogue_network::addr::HostSocketAddr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stderr]   --> src/adapter.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use drogue_embedded_timer::Delay;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser::join`
[INFO] [stderr]   --> src/adapter.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::parser::join;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Consumer` and `Producer`
[INFO] [stderr]  --> src/arbiter.rs:5:42
[INFO] [stderr]   |
[INFO] [stderr] 5 | use heapless::{consts::*, String, spsc::{Consumer, Producer}, ArrayLength};
[INFO] [stderr]   |                                          ^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nom::InputIter`
[INFO] [stderr]   --> src/arbiter.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use nom::InputIter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AdapterError`
[INFO] [stderr]   --> src/arbiter.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::adapter::{AdapterError, JoinError, JoinInfo, ConnectError, WriteError, ReadError, CloseError};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nom::error::ErrorKind`
[INFO] [stderr]   --> src/arbiter.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use nom::error::ErrorKind;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `named_args` and `take`
[INFO] [stderr]  --> src/parser.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     named_args,
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 9 |     take,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `heapless::String`
[INFO] [stderr]   --> src/parser.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use heapless::String;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::adapter::JoinError`
[INFO] [stderr]   --> src/parser.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::adapter::JoinError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/parser.rs:42:1
[INFO] [stderr]    |
[INFO] [stderr] 42 | / named!(
[INFO] [stderr] 43 | |     pub(crate) join<JoinResponse>,
[INFO] [stderr] 44 | |     do_parse!(
[INFO] [stderr] 45 | |         tag!("[JOIN   ] ") >>
[INFO] [stderr] ...  |
[INFO] [stderr] 57 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/parser.rs:61:1
[INFO] [stderr]    |
[INFO] [stderr] 61 | / named!(
[INFO] [stderr] 62 | |     pub(crate) join_error<JoinResponse>,
[INFO] [stderr] 63 | |     do_parse!(
[INFO] [stderr] 64 | |         take_until!( "ERROR" ) >>
[INFO] [stderr] ...  |
[INFO] [stderr] 70 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/parser.rs:72:1
[INFO] [stderr]    |
[INFO] [stderr] 72 | / named!(
[INFO] [stderr] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stderr] 74 | |     do_parse!(
[INFO] [stderr] 75 | |         tag!("\r\n") >>
[INFO] [stderr] ...  |
[INFO] [stderr] 87 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]   --> src/parser.rs:72:1
[INFO] [stderr]    |
[INFO] [stderr] 72 | / named!(
[INFO] [stderr] 73 | |     pub(crate) join_response<JoinResponse>,
[INFO] [stderr] 74 | |     do_parse!(
[INFO] [stderr] 75 | |         tag!("\r\n") >>
[INFO] [stderr] ...  |
[INFO] [stderr] 87 | | );
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]    = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:95:1
[INFO] [stderr]     |
[INFO] [stderr]  95 | / named!(
[INFO] [stderr]  96 | |     pub(crate) connected<ConnectResponse>,
[INFO] [stderr]  97 | |     do_parse!(
[INFO] [stderr]  98 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:110:1
[INFO] [stderr]     |
[INFO] [stderr] 110 | / named!(
[INFO] [stderr] 111 | |     pub(crate) connection_failure<ConnectResponse>,
[INFO] [stderr] 112 | |     do_parse!(
[INFO] [stderr] 113 | |         take_until!( "ERROR" ) >>
[INFO] [stderr] ...   |
[INFO] [stderr] 119 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:121:1
[INFO] [stderr]     |
[INFO] [stderr] 121 | / named!(
[INFO] [stderr] 122 | |     pub(crate) connect_response<ConnectResponse>,
[INFO] [stderr] 123 | |     alt!(
[INFO] [stderr] 124 | |         complete!(connected)
[INFO] [stderr] ...   |
[INFO] [stderr] 127 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:135:1
[INFO] [stderr]     |
[INFO] [stderr] 135 | / named!(
[INFO] [stderr] 136 | |     pub(crate) closed<CloseResponse>,
[INFO] [stderr] 137 | |     do_parse!(
[INFO] [stderr] 138 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 146 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:148:1
[INFO] [stderr]     |
[INFO] [stderr] 148 | / named!(
[INFO] [stderr] 149 | |     pub(crate) close_error<CloseResponse>,
[INFO] [stderr] 150 | |     do_parse!(
[INFO] [stderr] 151 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 159 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:161:1
[INFO] [stderr]     |
[INFO] [stderr] 161 | / named!(
[INFO] [stderr] 162 | |     pub(crate) close_response<CloseResponse>,
[INFO] [stderr] 163 | |     alt!(
[INFO] [stderr] 164 | |           complete!(closed)
[INFO] [stderr] ...   |
[INFO] [stderr] 167 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:175:1
[INFO] [stderr]     |
[INFO] [stderr] 175 | / named!(
[INFO] [stderr] 176 | |     pub(crate) write_ok<WriteResponse>,
[INFO] [stderr] 177 | |     do_parse!(
[INFO] [stderr] 178 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 187 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:189:1
[INFO] [stderr]     |
[INFO] [stderr] 189 | / named!(
[INFO] [stderr] 190 | |     pub(crate) write_error<WriteResponse>,
[INFO] [stderr] 191 | |     do_parse!(
[INFO] [stderr] 192 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 201 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:203:1
[INFO] [stderr]     |
[INFO] [stderr] 203 | / named!(
[INFO] [stderr] 204 | |     pub(crate) write_response<WriteResponse>,
[INFO] [stderr] 205 | |     alt!(
[INFO] [stderr] 206 | |           complete!(write_ok)
[INFO] [stderr] ...   |
[INFO] [stderr] 209 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:218:1
[INFO] [stderr]     |
[INFO] [stderr] 218 | / named!(
[INFO] [stderr] 219 | |     pub(crate) read_data<ReadResponse>,
[INFO] [stderr] 220 | |     do_parse!(
[INFO] [stderr] 221 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 230 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:232:1
[INFO] [stderr]     |
[INFO] [stderr] 232 | / named!(
[INFO] [stderr] 233 | |     pub(crate) read_error<ReadResponse>,
[INFO] [stderr] 234 | |     do_parse!(
[INFO] [stderr] 235 | |         tag!("\r\n") >>
[INFO] [stderr] ...   |
[INFO] [stderr] 244 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/parser.rs:246:1
[INFO] [stderr]     |
[INFO] [stderr] 246 | / named!(
[INFO] [stderr] 247 | |     pub(crate) read_response<ReadResponse>,
[INFO] [stderr] 248 | |     alt!(
[INFO] [stderr] 249 | |           complete!(read_data)
[INFO] [stderr] ...   |
[INFO] [stderr] 252 | | );
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `complete`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::cell::RefCell`
[INFO] [stderr]  --> src/network.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use core::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AdapterError` and `ReadError`
[INFO] [stderr]  --> src/network.rs:6:31
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::adapter::{Adapter, AdapterError, ReadError};
[INFO] [stderr]   |                               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nb::Error`
[INFO] [stderr]  --> src/network.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use nb::Error;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `drogue_embedded_timer::Delay`
[INFO] [stderr]   --> src/lib.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use drogue_embedded_timer::Delay;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `embedded_hal::blocking::spi::Transfer`
[INFO] [stderr]   --> src/lib.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use embedded_hal::blocking::spi::Transfer;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `InputPin` and `OutputPin`
[INFO] [stderr]   --> src/lib.rs:13:33
[INFO] [stderr]    |
[INFO] [stderr] 13 | use embedded_hal::digital::v2::{OutputPin, InputPin};
[INFO] [stderr]    |                                 ^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::arbiter::Arbiter`
[INFO] [stderr]   --> src/lib.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::arbiter::Arbiter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::adapter::Adapter`
[INFO] [stderr]   --> src/lib.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::adapter::Adapter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `consts::*` and `spsc::Queue`
[INFO] [stderr]   --> src/lib.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     consts::*,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 19 |     spsc::Queue
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/adapter.rs:80:13
[INFO] [stderr]    |
[INFO] [stderr] 80 |             _ => {
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/adapter.rs:80:13
[INFO] [stderr]    |
[INFO] [stderr] 68 |             JoinInfo::Open => {
[INFO] [stderr]    |             -------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 71 |             JoinInfo::Wep { ssid, password } => {
[INFO] [stderr]    |             -------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 80 |             _ => {
[INFO] [stderr]    |             ^ collectively making this unreachable
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/adapter.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut arbiter = Arbiter::new(
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/network.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/network.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut socket = &mut self.sockets.borrow_mut()[tcp_socket.0];
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `clock` is never read
[INFO] [stderr]   --> src/arbiter.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct Arbiter<'clock, Spi, ChipSelectPin, ReadyPin, WakeupPin, ResetPin, Clock>
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 62 |     clock: &'clock Clock,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Connected` is never constructed
[INFO] [stderr]  --> src/socket.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub(crate) enum State {
[INFO] [stderr]   |                 ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 6 |     Connected,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_blocking` and `is_timeout` are never used
[INFO] [stderr]   --> src/socket.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Socket {
[INFO] [stderr]    | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub(crate) fn is_blocking(&self) -> bool {
[INFO] [stderr]    |                   ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub(crate) fn is_timeout(&self) -> bool {
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:117:13
[INFO] [stderr]     |
[INFO] [stderr] 117 |             self.spi.transfer(&mut chunk);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let _ = self.spi.transfer(&mut chunk);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 139 |             let _ = self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:139:31
[INFO] [stderr]     |
[INFO] [stderr] 139 |             self.send_string(&command!(U8, "MT=1"), &mut response);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 139 |             self.send_string(&let _ = command!(U8, "MT=1"), &mut response);
[INFO] [stderr]     |                               +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:148:13
[INFO] [stderr]     |
[INFO] [stderr] 148 |             self.initialize();
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 148 |             let _ = self.initialize();
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |         self.wakeup.set_low();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |         let _ = self.wakeup.set_low();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |         self.reset.set_low();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 171 |         let _ = self.reset.set_low();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |         self.reset.set_high();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 173 |         let _ = self.reset.set_high();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:250:22
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     &command!(U36, "CB=2"),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     &let _ = command!(U36, "CB=2"),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:254:22
[INFO] [stderr]     |
[INFO] [stderr] 254 |                     &command!(U36, "C1={}", ssid),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 254 |                     &let _ = command!(U36, "C1={}", ssid),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:258:22
[INFO] [stderr]     |
[INFO] [stderr] 258 |                     &command!(U72, "C2={}", password),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 258 |                     &let _ = command!(U72, "C2={}", password),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:262:22
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     &command!(U8, "C3=4"),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     &let _ = command!(U8, "C3=4"),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:266:50
[INFO] [stderr]     |
[INFO] [stderr] 266 |                 let response = self.send_string(&command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 266 |                 let response = self.send_string(&let _ = command!(U4, "C0"), &mut response).map_err(|_| JoinError::Unknown)?;
[INFO] [stderr]     |                                                  +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:303:14
[INFO] [stderr]     |
[INFO] [stderr] 303 |             &command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 303 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:309:22
[INFO] [stderr]     |
[INFO] [stderr] 309 |                     &command!(U8,"P1=0"),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 309 |                     &let _ = command!(U8,"P1=0"),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:314:22
[INFO] [stderr]     |
[INFO] [stderr] 314 |                     &command!(U8,"P1=1"),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 314 |                     &let _ = command!(U8,"P1=1"),
[INFO] [stderr]     |                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:320:14
[INFO] [stderr]     |
[INFO] [stderr] 320 |             &command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 320 |             &let _ = command!(U32, "P3={}", remote.addr().ip()),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:324:14
[INFO] [stderr]     |
[INFO] [stderr] 324 |             &command!(U32, "P4={}", remote.port()),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 324 |             &let _ = command!(U32, "P4={}", remote.port()),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:327:42
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let response = self.send_string(&command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let response = self.send_string(&let _ = command!(U8, "P6=1"), &mut response).map_err(|e| ConnectError::SpiError(e))?;
[INFO] [stderr]     |                                          +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:341:14
[INFO] [stderr]     |
[INFO] [stderr] 341 |             &command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 341 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:344:42
[INFO] [stderr]     |
[INFO] [stderr] 344 |         let response = self.send_string(&command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 344 |         let response = self.send_string(&let _ = command!(U8, "P6=0"), &mut response).map_err(|e| CloseError::SpiError(e))?;
[INFO] [stderr]     |                                          +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:369:23
[INFO] [stderr]     |
[INFO] [stderr] 369 |         let command = command!(U8, "P0={}", socket_num);
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 369 |         let command = let _ = command!(U8, "P0={}", socket_num);
[INFO] [stderr]     |                       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:370:9
[INFO] [stderr]     |
[INFO] [stderr] 370 |         self.send(command.as_bytes(), &mut response);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 370 |         let _ = self.send(command.as_bytes(), &mut response);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:373:14
[INFO] [stderr]     |
[INFO] [stderr] 373 |             &command!(U8, "P0={}", socket_num),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 373 |             &let _ = command!(U8, "P0={}", socket_num),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:378:14
[INFO] [stderr]     |
[INFO] [stderr] 378 |             &command!(U16, "S1={}", len),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 378 |             &let _ = command!(U16, "S1={}", len),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:401:17
[INFO] [stderr]     |
[INFO] [stderr] 401 |                 self.spi.transfer(&mut xfer);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 401 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:414:17
[INFO] [stderr]     |
[INFO] [stderr] 414 |                 self.spi.transfer(&mut xfer);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 414 |                 let _ = self.spi.transfer(&mut xfer);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:457:14
[INFO] [stderr]     |
[INFO] [stderr] 457 |             &command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 457 |             &let _ = command!( U8, "P0={}", socket_num),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:467:14
[INFO] [stderr]     |
[INFO] [stderr] 467 |             &command!( U16, "R1={}", len),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 467 |             &let _ = command!( U16, "R1={}", len),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:472:14
[INFO] [stderr]     |
[INFO] [stderr] 472 |             &command!(U8, "R2=15"),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 472 |             &let _ = command!(U8, "R2=15"),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:477:14
[INFO] [stderr]     |
[INFO] [stderr] 477 |             &command!(U8, "R3=1"),
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 477 |             &let _ = command!(U8, "R3=1"),
[INFO] [stderr]     |              +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:488:13
[INFO] [stderr]     |
[INFO] [stderr] 488 |             self.spi.transfer(&mut xfer);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 488 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/arbiter.rs:491:13
[INFO] [stderr]     |
[INFO] [stderr] 491 |             self.spi.transfer(&mut xfer);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 491 |             let _ = self.spi.transfer(&mut xfer);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/chip_select.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |         pin.set_high();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 19 |         let _ = pin.set_high();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/chip_select.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |         self.pin.set_low();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let _ = self.pin.set_low();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/chip_select.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         self.pin.set_high();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 35 |         let _ = self.pin.set_high();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `drogue-es-wifi` (lib) generated 92 warnings (13 duplicates) (run `cargo fix --lib -p drogue-es-wifi` to apply 24 suggestions)
[INFO] [stderr] warning: `drogue-es-wifi` (lib test) generated 92 warnings (92 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: drogue-es-wifi v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/drogue-es-wifi/d85147e0c1f4cf7a/out/drogue_es_wifi-d85147e0c1f4cf7a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests drogue_es_wifi
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd", kill_on_drop: false }`
[INFO] [stdout] 8924112550cbe8676ff9098cd433b05d94170e458b11b52af4a4bed6fc654acd
