[INFO] cloning repository https://github.com/syntacticsugarglider/self-profile-ice-repro
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/syntacticsugarglider/self-profile-ice-repro" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyntacticsugarglider%2Fself-profile-ice-repro", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyntacticsugarglider%2Fself-profile-ice-repro'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a31f2f9ec5e0d27ac1807b44635df289e52aa8a8
[INFO] checking syntacticsugarglider/self-profile-ice-repro against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyntacticsugarglider%2Fself-profile-ice-repro" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/syntacticsugarglider/self-profile-ice-repro
[INFO] finished tweaking git repo https://github.com/syntacticsugarglider/self-profile-ice-repro
[INFO] tweaked toml for git repo https://github.com/syntacticsugarglider/self-profile-ice-repro written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/syntacticsugarglider/self-profile-ice-repro on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/syntacticsugarglider/self-profile-ice-repro already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/core-error/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b4d102f216391c86a93b4e10c2127858f25225d5ca601d2ee05d1cf29e775fa0
[INFO] running `Command { std: "docker" "start" "-a" "b4d102f216391c86a93b4e10c2127858f25225d5ca601d2ee05d1cf29e775fa0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4d102f216391c86a93b4e10c2127858f25225d5ca601d2ee05d1cf29e775fa0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4d102f216391c86a93b4e10c2127858f25225d5ca601d2ee05d1cf29e775fa0", kill_on_drop: false }`
[INFO] [stdout] b4d102f216391c86a93b4e10c2127858f25225d5ca601d2ee05d1cf29e775fa0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bccd7801bae40f852ae06c510541696ee414bbff67831d5f7eedebf851c81695
[INFO] running `Command { std: "docker" "start" "-a" "bccd7801bae40f852ae06c510541696ee414bbff67831d5f7eedebf851c81695", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/core-error/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling syn v1.0.32
[INFO] [stderr]    Compiling serde_derive v1.0.113
[INFO] [stderr]    Compiling serde v1.0.113
[INFO] [stderr]    Compiling pin-project-internal v0.4.22
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling proc-macro-nested v0.1.6
[INFO] [stderr]     Checking futures-sink v0.3.5
[INFO] [stderr]    Compiling proc-macro-hack v0.5.16
[INFO] [stderr]     Checking futures-core v0.3.5
[INFO] [stderr]     Checking once_cell v1.4.0
[INFO] [stderr]     Checking futures-io v0.3.5
[INFO] [stderr]    Compiling core-error v0.0.1-rc4 (https://github.com/core-error/core-error#9ffbf19b)
[INFO] [stderr]    Compiling serde_json v1.0.55
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling anyhow v1.0.31
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling rustversion v1.0.3
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking dissimilar v1.0.2
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking futures-task v0.3.5
[INFO] [stderr]     Checking glob v0.3.0
[INFO] [stderr]    Compiling core-error v0.0.1-rc4 (/opt/rustwide/workdir/core-error)
[INFO] [stderr]     Checking unicode-xid v0.2.0
[INFO] [stderr]     Checking futures-channel v0.3.5
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]     Checking proc-macro2 v1.0.18
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking genio v0.2.1
[INFO] [stderr]     Checking bytes v0.5.5
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]     Checking synstructure v0.12.4
[INFO] [stderr]     Checking thiserror-impl v1.0.11 (/opt/rustwide/workdir/thiserror/impl)
[INFO] [stderr]     Checking derive v0.1.0 (/opt/rustwide/workdir/protocol/derive)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/attr.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                              ^^^^^            ^^^^^^
[INFO] [stdout]   |                              |                ||
[INFO] [stdout]   |                              |                |the same lifetime is hidden here
[INFO] [stdout]   |                              |                the same lifetime is elided here
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                                ^^^^^            ^^^^^^
[INFO] [stdout]   |                                |                ||
[INFO] [stdout]   |                                |                |the same lifetime is hidden here
[INFO] [stdout]   |                                |                the same lifetime is elided here
[INFO] [stdout]   |                                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^
[INFO] [stdout]    |                              |                ||
[INFO] [stdout]    |                              |                |the same lifetime is hidden here
[INFO] [stdout]    |                              |                the same lifetime is elided here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                ^^^^^            ^^^^^^
[INFO] [stdout]    |                                |                ||
[INFO] [stdout]    |                                |                |the same lifetime is hidden here
[INFO] [stdout]    |                                |                the same lifetime is elided here
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/attr.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                              ^^^^^            ^^^^^^
[INFO] [stdout]   |                              |                ||
[INFO] [stdout]   |                              |                |the same lifetime is hidden here
[INFO] [stdout]   |                              |                the same lifetime is elided here
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                                ^^^^^            ^^^^^^
[INFO] [stdout]   |                                |                ||
[INFO] [stdout]   |                                |                |the same lifetime is hidden here
[INFO] [stdout]   |                                |                the same lifetime is elided here
[INFO] [stdout]   |                                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^
[INFO] [stdout]    |                              |                ||
[INFO] [stdout]    |                              |                |the same lifetime is hidden here
[INFO] [stdout]    |                              |                the same lifetime is elided here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                ^^^^^            ^^^^^^
[INFO] [stdout]    |                                |                ||
[INFO] [stdout]    |                                |                |the same lifetime is hidden here
[INFO] [stdout]    |                                |                the same lifetime is elided here
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures-macro v0.3.5
[INFO] [stderr]    Compiling ref-cast-impl v1.0.2
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/attr.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^            ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn get(input: &[Attribute]) -> Result<Attrs<'_>> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                              ^^^^^            ^^^^^^
[INFO] [stdout]   |                              |                ||
[INFO] [stdout]   |                              |                |the same lifetime is hidden here
[INFO] [stdout]   |                              |                the same lifetime is elided here
[INFO] [stdout]   |                              the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> thiserror/impl/src/prop.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]   |                                ^^^^^            ^^^^^^
[INFO] [stdout]   |                                |                ||
[INFO] [stdout]   |                                |                |the same lifetime is hidden here
[INFO] [stdout]   |                                |                the same lifetime is elided here
[INFO] [stdout]   |                                the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]   |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                              ^^^^^            ^^^^^^
[INFO] [stdout]    |                              |                ||
[INFO] [stdout]    |                              |                |the same lifetime is hidden here
[INFO] [stdout]    |                              |                the same lifetime is elided here
[INFO] [stdout]    |                              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub(crate) fn from_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                ^^^^^            ^^^^^^
[INFO] [stdout]    |                                |                ||
[INFO] [stdout]    |                                |                |the same lifetime is hidden here
[INFO] [stdout]    |                                |                the same lifetime is elided here
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn source_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> thiserror/impl/src/prop.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field> {
[INFO] [stdout]    |                                   ^^^^^            ^^^^^^
[INFO] [stdout]    |                                   |                ||
[INFO] [stdout]    |                                   |                |the same lifetime is hidden here
[INFO] [stdout]    |                                   |                the same lifetime is elided here
[INFO] [stdout]    |                                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> {
[INFO] [stdout]    |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ref-cast v1.0.2
[INFO] [stderr]     Checking thiserror v1.0.11 (/opt/rustwide/workdir/thiserror)
[INFO] [stderr]     Checking pin-project v0.4.22
[INFO] [stderr]     Checking futures-util v0.3.5
[INFO] [stderr]     Checking futures-executor v0.3.5
[INFO] [stderr]     Checking piper v0.1.3
[INFO] [stderr]     Checking futures v0.3.5
[INFO] [stderr]     Checking protocol v0.1.0 (/opt/rustwide/workdir/protocol)
[INFO] [stderr]     Checking core-futures-io v0.1.0 (/opt/rustwide/workdir/core-futures-io)
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |         Poll::Ready(Ok(0))
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Poll::Ready(Ok(buf.len()))
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Poll::Ready(Ok(buf.len()))
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]    --> core-futures-io/src/read.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Poll::Ready(Read::read(self.get_mut(), buf))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]    --> core-futures-io/src/write.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Poll::Ready(Ok(buf.len()))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> core-futures-io/src/ext/read/chain.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     #[must_use = "streams do nothing unless polled"]
[INFO] [stdout] 13 | |     #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
[INFO] [stdout] 14 | |     pub struct Chain<T, U> {
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | reader8!(ReadU8, u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | reader8!(ReadI8, i8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | reader!(ReadU16, u16, get_u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | reader!(ReadU32, u32, get_u32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | reader!(ReadU64, u64, get_u64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | reader!(ReadU128, u128, get_u128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | reader!(ReadI16, i16, get_i16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | reader!(ReadI32, i32, get_i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | reader!(ReadI64, i64, get_i64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | reader!(ReadI128, i128, get_i128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> core-futures-io/src/ext/read/take.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     #[derive(Debug)]
[INFO] [stdout] 13 | |     #[must_use = "streams do nothing unless you `.await` or poll them"]
[INFO] [stdout] 14 | |     #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | writer8!(WriteU8, u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | writer8!(WriteI8, i8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | writer!(WriteU16, u16, put_u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | writer!(WriteU32, u32, put_u32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | writer!(WriteU64, u64, put_u64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | writer!(WriteU128, u128, put_u128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | writer!(WriteI16, i16, put_i16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | writer!(WriteI32, i32, put_i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | writer!(WriteI64, i64, put_i64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | writer!(WriteI128, i128, put_i128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `core-futures-io` (lib) due to 5 previous errors; 22 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |         Poll::Ready(Ok(0))
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |         Poll::Ready(Ok(buf.len()))
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]   --> core-futures-io/src/lib.rs:96:21
[INFO] [stdout]    |
[INFO] [stdout] 96 |         Poll::Ready(Ok(buf.len()))
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]    --> core-futures-io/src/read.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |         Poll::Ready(Read::read(self.get_mut(), buf))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Void>
[INFO] [stdout]    --> core-futures-io/src/write.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Poll::Ready(Ok(buf.len()))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> core-futures-io/src/ext/read/chain.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     #[must_use = "streams do nothing unless polled"]
[INFO] [stdout] 13 | |     #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
[INFO] [stdout] 14 | |     pub struct Chain<T, U> {
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | reader8!(ReadU8, u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | reader8!(ReadI8, i8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | reader!(ReadU16, u16, get_u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | reader!(ReadU32, u32, get_u32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | reader!(ReadU64, u64, get_u64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | reader!(ReadU128, u128, get_u128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | reader!(ReadI16, i16, get_i16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:131:1
[INFO] [stdout]     |
[INFO] [stdout] 131 | reader!(ReadI32, i32, get_i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | reader!(ReadI64, i64, get_i64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/read/read_int.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | reader!(ReadI128, i128, get_i128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `reader` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> core-futures-io/src/ext/read/take.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     #[derive(Debug)]
[INFO] [stdout] 13 | |     #[must_use = "streams do nothing unless you `.await` or poll them"]
[INFO] [stdout] 14 | |     #[cfg_attr(docsrs, doc(cfg(feature = "io-util")))]
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | writer8!(WriteU8, u8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | writer8!(WriteI8, i8);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | writer!(WriteU16, u16, put_u16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `core-futures-io` (lib test) due to 5 previous errors; 22 warnings emitted
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | writer!(WriteU32, u32, put_u32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | writer!(WriteU64, u64, put_u64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | writer!(WriteU128, u128, put_u128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | writer!(WriteI16, i16, put_i16);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | writer!(WriteI32, i32, put_i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | writer!(WriteI64, i64, put_i64);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> core-futures-io/src/ext/write/write_int.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | writer!(WriteI128, i128, put_i128);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `$crate::__pin_project_internal` which comes from the expansion of the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:330:25
[INFO] [stdout]     |
[INFO] [stdout] 330 |                         replace(this, Array0001Unravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[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] 330 |                         let _ = replace(this, Array0001Unravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:338:21
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     replace(this, Array0001Unravel::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     let _ = replace(this, Array0001Unravel::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |                         replace(this, Array0001Unravel::Flush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |                         let _ = replace(this, Array0001Unravel::Flush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:356:25
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         replace(this, Array0001Unravel::Target(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         let _ = replace(this, Array0001Unravel::Target(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:364:21
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     replace(this, Array0001Unravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     let _ = replace(this, Array0001Unravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     replace(this, Array0001Coalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     let _ = replace(this, Array0001Coalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     replace(this, OptionUnravel::Flush(None));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     let _ = replace(this, OptionUnravel::Flush(None));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         replace(this, OptionUnravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         let _ = replace(this, OptionUnravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     replace(this, OptionUnravel::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     let _ = replace(this, OptionUnravel::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         replace(this, OptionUnravel::Flush(Some(target)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         let _ = replace(this, OptionUnravel::Flush(Some(target)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   replace(this, OptionUnravel::Target(target));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |                             let _ = replace(this, OptionUnravel::Target(target));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 152 |                             let _ = replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     let _ = replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   replace(this, OptionCoalesce::Done);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 197 |                             let _ = replace(this, OptionCoalesce::Done);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:201:29
[INFO] [stdout]     |
[INFO] [stdout] 201 | ...                   replace(this, OptionCoalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 201 |                             let _ = replace(this, OptionCoalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         replace(this, ResultUnravel::OkFork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         let _ = replace(this, ResultUnravel::OkFork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     replace(this, ResultUnravel::OkWrite(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     let _ = replace(this, ResultUnravel::OkWrite(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         replace(this, ResultUnravel::ErrFork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         let _ = replace(this, ResultUnravel::ErrFork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     replace(this, ResultUnravel::ErrWrite(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     let _ = replace(this, ResultUnravel::ErrWrite(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:198:25
[INFO] [stdout]     |
[INFO] [stdout] 198 |                         replace(this, ResultUnravel::OkFlush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 198 |                         let _ = replace(this, ResultUnravel::OkFlush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         replace(this, ResultUnravel::ErrFlush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         let _ = replace(this, ResultUnravel::ErrFlush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                         replace(this, ResultUnravel::OkTarget(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                         let _ = replace(this, ResultUnravel::OkTarget(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         replace(this, ResultUnravel::ErrTarget(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let _ = replace(this, ResultUnravel::ErrTarget(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:238:21
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let _ = replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     let _ = replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:294:29
[INFO] [stdout]     |
[INFO] [stdout] 294 | / ...                   replace(
[INFO] [stdout] 295 | | ...                       this,
[INFO] [stdout] 296 | | ...                       ResultCoalesce::OkJoin(<C as Join<T>>::join(ctx, data)),
[INFO] [stdout] 297 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |                             let _ = replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:300:29
[INFO] [stdout]     |
[INFO] [stdout] 300 | / ...                   replace(
[INFO] [stdout] 301 | | ...                       this,
[INFO] [stdout] 302 | | ...                       ResultCoalesce::ErrJoin(<C as Join<E>>::join(ctx, data)),
[INFO] [stdout] 303 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |                             let _ = replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:649:21
[INFO] [stdout]     |
[INFO] [stdout] 649 | /                     replace(
[INFO] [stdout] 650 | |                         &mut this.state,
[INFO] [stdout] 651 | |                         Tuple2UnravelState::T(
[INFO] [stdout] 652 | |                             ctx.fork(this.data.0.take().expect("data incomplete")),
[INFO] [stdout] 653 | |                         ),
[INFO] [stdout] 654 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 649 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:661:21
[INFO] [stdout]     |
[INFO] [stdout] 661 | /                     replace(
[INFO] [stdout] 662 | |                         &mut this.state,
[INFO] [stdout] 663 | |                         Tuple2UnravelState::U(
[INFO] [stdout] 664 | |                             ctx.fork(this.data.1.take().expect("data incomplete")),
[INFO] [stdout] 665 | |                         ),
[INFO] [stdout] 666 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:673:21
[INFO] [stdout]     |
[INFO] [stdout] 673 |                     replace(&mut this.state, Tuple2UnravelState::Writing);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 673 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Writing);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:683:21
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     replace(&mut this.state, Tuple2UnravelState::Flushing);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Flushing);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:689:21
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     replace(&mut this.state, Tuple2UnravelState::Target);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Target);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:695:21
[INFO] [stdout]     |
[INFO] [stdout] 695 |                     replace(&mut this.state, Tuple2UnravelState::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 695 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:746:21
[INFO] [stdout]     |
[INFO] [stdout] 746 | /                     replace(
[INFO] [stdout] 747 | |                         &mut this.state,
[INFO] [stdout] 748 | |                         Tuple2CoalesceState::T(<C as Join<T>>::join(ctx, first)),
[INFO] [stdout] 749 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 746 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:757:21
[INFO] [stdout]     |
[INFO] [stdout] 757 | /                     replace(
[INFO] [stdout] 758 | |                         &mut this.state,
[INFO] [stdout] 759 | |                         Tuple2CoalesceState::U(<C as Join<U>>::join(
[INFO] [stdout] 760 | |                             ctx,
[INFO] [stdout] 761 | |                             this.handles.1.take().expect("handles incomplete"),
[INFO] [stdout] 762 | |                         )),
[INFO] [stdout] 763 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 757 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:769:21
[INFO] [stdout]     |
[INFO] [stdout] 769 |                     replace(&mut this.state, Tuple2CoalesceState::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 769 |                     let _ = replace(&mut this.state, Tuple2CoalesceState::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:981:25
[INFO] [stdout]     |
[INFO] [stdout] 981 |                         replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 981 |                         let _ = replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:989:21
[INFO] [stdout]     |
[INFO] [stdout] 989 |                     replace(&mut this.state, FlatUnravelState::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 989 |                     let _ = replace(&mut this.state, FlatUnravelState::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:997:25
[INFO] [stdout]     |
[INFO] [stdout] 997 |                         replace(&mut this.state, FlatUnravelState::Flush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 997 |                         let _ = replace(&mut this.state, FlatUnravelState::Flush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1007:25
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                         replace(&mut this.state, FlatUnravelState::Target(target));
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                         let _ = replace(&mut this.state, FlatUnravelState::Target(target));
[INFO] [stdout]      |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1015:21
[INFO] [stdout]      |
[INFO] [stdout] 1015 |                     replace(&mut this.state, FlatUnravelState::Done);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1015 |                     let _ = replace(&mut this.state, FlatUnravelState::Done);
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1048:21
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                     replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle)));
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                     let _ = replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle)));
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1053:21
[INFO] [stdout]      |
[INFO] [stdout] 1053 |                     replace(&mut this.state, FlatCoalesceState::Done);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1053 |                     let _ = replace(&mut this.state, FlatCoalesceState::Done);
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1098:1
[INFO] [stdout]      |
[INFO] [stdout] 1098 | / tuple_impls! {
[INFO] [stdout] 1099 | |     Tuple3Coalesce  Tuple3CoalesceState  Tuple3Unravel  Tuple3UnravelState  Tuple3UnravelError  Tuple3CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1100 | |     Tuple4Coalesce  Tuple4CoalesceState  Tuple4Unravel  Tuple4UnravelState  Tuple4UnravelError  Tuple4CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1101 | |     Tuple5Coalesce  Tuple5CoalesceState  Tuple5Unravel  Tuple5UnravelState  Tuple5UnravelError  Tuple5CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] ...    |
[INFO] [stdout] 1112 | |     Tuple16Coalesce Tuple16CoalesceState Tuple16Unravel Tuple16UnravelState Tuple16UnravelError Tuple16CoalesceError => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1113 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1098 | let _ = tuple_impls! {
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:330:25
[INFO] [stdout]     |
[INFO] [stdout] 330 |                         replace(this, Array0001Unravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[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] 330 |                         let _ = replace(this, Array0001Unravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:338:21
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     replace(this, Array0001Unravel::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     let _ = replace(this, Array0001Unravel::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:346:25
[INFO] [stdout]     |
[INFO] [stdout] 346 |                         replace(this, Array0001Unravel::Flush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |                         let _ = replace(this, Array0001Unravel::Flush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:356:25
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         replace(this, Array0001Unravel::Target(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         let _ = replace(this, Array0001Unravel::Target(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:364:21
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     replace(this, Array0001Unravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     let _ = replace(this, Array0001Unravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/arrays.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     replace(this, Array0001Coalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     let _ = replace(this, Array0001Coalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     replace(this, OptionUnravel::Flush(None));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     let _ = replace(this, OptionUnravel::Flush(None));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         replace(this, OptionUnravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         let _ = replace(this, OptionUnravel::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     replace(this, OptionUnravel::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 130 |                     let _ = replace(this, OptionUnravel::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         replace(this, OptionUnravel::Flush(Some(target)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         let _ = replace(this, OptionUnravel::Flush(Some(target)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   replace(this, OptionUnravel::Target(target));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |                             let _ = replace(this, OptionUnravel::Target(target));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:152:29
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...                   replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 152 |                             let _ = replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 162 |                     let _ = replace(this, OptionUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   replace(this, OptionCoalesce::Done);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 197 |                             let _ = replace(this, OptionCoalesce::Done);
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/option.rs:201:29
[INFO] [stdout]     |
[INFO] [stdout] 201 | ...                   replace(this, OptionCoalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 201 |                             let _ = replace(this, OptionCoalesce::Join(ctx.join(handle)));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         replace(this, ResultUnravel::OkFork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 169 |                         let _ = replace(this, ResultUnravel::OkFork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     replace(this, ResultUnravel::OkWrite(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     let _ = replace(this, ResultUnravel::OkWrite(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:182:25
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         replace(this, ResultUnravel::ErrFork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 182 |                         let _ = replace(this, ResultUnravel::ErrFork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     replace(this, ResultUnravel::ErrWrite(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     let _ = replace(this, ResultUnravel::ErrWrite(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:198:25
[INFO] [stdout]     |
[INFO] [stdout] 198 |                         replace(this, ResultUnravel::OkFlush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 198 |                         let _ = replace(this, ResultUnravel::OkFlush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         replace(this, ResultUnravel::ErrFlush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         let _ = replace(this, ResultUnravel::ErrFlush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |                         replace(this, ResultUnravel::OkTarget(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                         let _ = replace(this, ResultUnravel::OkTarget(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         replace(this, ResultUnravel::ErrTarget(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                         let _ = replace(this, ResultUnravel::ErrTarget(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:238:21
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let _ = replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     let _ = replace(this, ResultUnravel::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:294:29
[INFO] [stdout]     |
[INFO] [stdout] 294 | / ...                   replace(
[INFO] [stdout] 295 | | ...                       this,
[INFO] [stdout] 296 | | ...                       ResultCoalesce::OkJoin(<C as Join<T>>::join(ctx, data)),
[INFO] [stdout] 297 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |                             let _ = replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/result.rs:300:29
[INFO] [stdout]     |
[INFO] [stdout] 300 | / ...                   replace(
[INFO] [stdout] 301 | | ...                       this,
[INFO] [stdout] 302 | | ...                       ResultCoalesce::ErrJoin(<C as Join<E>>::join(ctx, data)),
[INFO] [stdout] 303 | | ...                   );
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |                             let _ = replace(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:649:21
[INFO] [stdout]     |
[INFO] [stdout] 649 | /                     replace(
[INFO] [stdout] 650 | |                         &mut this.state,
[INFO] [stdout] 651 | |                         Tuple2UnravelState::T(
[INFO] [stdout] 652 | |                             ctx.fork(this.data.0.take().expect("data incomplete")),
[INFO] [stdout] 653 | |                         ),
[INFO] [stdout] 654 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 649 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:661:21
[INFO] [stdout]     |
[INFO] [stdout] 661 | /                     replace(
[INFO] [stdout] 662 | |                         &mut this.state,
[INFO] [stdout] 663 | |                         Tuple2UnravelState::U(
[INFO] [stdout] 664 | |                             ctx.fork(this.data.1.take().expect("data incomplete")),
[INFO] [stdout] 665 | |                         ),
[INFO] [stdout] 666 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 661 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:673:21
[INFO] [stdout]     |
[INFO] [stdout] 673 |                     replace(&mut this.state, Tuple2UnravelState::Writing);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 673 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Writing);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:683:21
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     replace(&mut this.state, Tuple2UnravelState::Flushing);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 683 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Flushing);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:689:21
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     replace(&mut this.state, Tuple2UnravelState::Target);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 689 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Target);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:695:21
[INFO] [stdout]     |
[INFO] [stdout] 695 |                     replace(&mut this.state, Tuple2UnravelState::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 695 |                     let _ = replace(&mut this.state, Tuple2UnravelState::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:746:21
[INFO] [stdout]     |
[INFO] [stdout] 746 | /                     replace(
[INFO] [stdout] 747 | |                         &mut this.state,
[INFO] [stdout] 748 | |                         Tuple2CoalesceState::T(<C as Join<T>>::join(ctx, first)),
[INFO] [stdout] 749 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 746 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:757:21
[INFO] [stdout]     |
[INFO] [stdout] 757 | /                     replace(
[INFO] [stdout] 758 | |                         &mut this.state,
[INFO] [stdout] 759 | |                         Tuple2CoalesceState::U(<C as Join<U>>::join(
[INFO] [stdout] 760 | |                             ctx,
[INFO] [stdout] 761 | |                             this.handles.1.take().expect("handles incomplete"),
[INFO] [stdout] 762 | |                         )),
[INFO] [stdout] 763 | |                     );
[INFO] [stdout]     | |_____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 757 |                     let _ = replace(
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:769:21
[INFO] [stdout]     |
[INFO] [stdout] 769 |                     replace(&mut this.state, Tuple2CoalesceState::Done);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 769 |                     let _ = replace(&mut this.state, Tuple2CoalesceState::Done);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:981:25
[INFO] [stdout]     |
[INFO] [stdout] 981 |                         replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 981 |                         let _ = replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data)));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:989:21
[INFO] [stdout]     |
[INFO] [stdout] 989 |                     replace(&mut this.state, FlatUnravelState::Write(handle, target));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 989 |                     let _ = replace(&mut this.state, FlatUnravelState::Write(handle, target));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> protocol/src/tuples.rs:997:25
[INFO] [stdout]     |
[INFO] [stdout] 997 |                         replace(&mut this.state, FlatUnravelState::Flush(target));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 997 |                         let _ = replace(&mut this.state, FlatUnravelState::Flush(target));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1007:25
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                         replace(&mut this.state, FlatUnravelState::Target(target));
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1007 |                         let _ = replace(&mut this.state, FlatUnravelState::Target(target));
[INFO] [stdout]      |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1015:21
[INFO] [stdout]      |
[INFO] [stdout] 1015 |                     replace(&mut this.state, FlatUnravelState::Done);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1015 |                     let _ = replace(&mut this.state, FlatUnravelState::Done);
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1048:21
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                     replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle)));
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1048 |                     let _ = replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle)));
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1053:21
[INFO] [stdout]      |
[INFO] [stdout] 1053 |                     replace(&mut this.state, FlatCoalesceState::Done);
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1053 |                     let _ = replace(&mut this.state, FlatCoalesceState::Done);
[INFO] [stdout]      |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]     --> protocol/src/tuples.rs:1098:1
[INFO] [stdout]      |
[INFO] [stdout] 1098 | / tuple_impls! {
[INFO] [stdout] 1099 | |     Tuple3Coalesce  Tuple3CoalesceState  Tuple3Unravel  Tuple3UnravelState  Tuple3UnravelError  Tuple3CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1100 | |     Tuple4Coalesce  Tuple4CoalesceState  Tuple4Unravel  Tuple4UnravelState  Tuple4UnravelError  Tuple4CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1101 | |     Tuple5Coalesce  Tuple5CoalesceState  Tuple5Unravel  Tuple5UnravelState  Tuple5UnravelError  Tuple5CoalesceError  => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] ...    |
[INFO] [stdout] 1112 | |     Tuple16Coalesce Tuple16CoalesceState Tuple16Unravel Tuple16UnravelState Tuple16UnravelError Tuple16CoalesceError => (0 (T0 T1) 1 (T1 ...
[INFO] [stdout] 1113 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1098 | let _ = tuple_impls! {
[INFO] [stdout]      | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "bccd7801bae40f852ae06c510541696ee414bbff67831d5f7eedebf851c81695", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bccd7801bae40f852ae06c510541696ee414bbff67831d5f7eedebf851c81695", kill_on_drop: false }`
[INFO] [stdout] bccd7801bae40f852ae06c510541696ee414bbff67831d5f7eedebf851c81695
