[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] testing syntacticsugarglider/self-profile-ice-repro against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyntacticsugarglider%2Fself-profile-ice-repro" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-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-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/syntacticsugarglider/self-profile-ice-repro on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-1-tc2/source/core-error/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1566f9748fe0be9689dab30297c0712774916645de8ed152bbf3865c4bbd10fc [INFO] running `Command { std: "docker" "start" "-a" "1566f9748fe0be9689dab30297c0712774916645de8ed152bbf3865c4bbd10fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1566f9748fe0be9689dab30297c0712774916645de8ed152bbf3865c4bbd10fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1566f9748fe0be9689dab30297c0712774916645de8ed152bbf3865c4bbd10fc", kill_on_drop: false }` [INFO] [stdout] 1566f9748fe0be9689dab30297c0712774916645de8ed152bbf3865c4bbd10fc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 83064f7f5fe89905c24cddfd81b7922f52408fd97c71ea3af5ac891b53d99694 [INFO] running `Command { std: "docker" "start" "-a" "83064f7f5fe89905c24cddfd81b7922f52408fd97c71ea3af5ac891b53d99694", 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 proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.32 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling pin-project-internal v0.4.22 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling futures-core v0.3.5 [INFO] [stderr] Compiling futures-sink v0.3.5 [INFO] [stderr] Compiling proc-macro-hack v0.5.16 [INFO] [stderr] Compiling once_cell v1.4.0 [INFO] [stderr] Compiling futures-io v0.3.5 [INFO] [stderr] Compiling serde_derive v1.0.113 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling serde v1.0.113 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling futures-channel v0.3.5 [INFO] [stderr] Compiling arrayvec v0.5.1 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling futures-task v0.3.5 [INFO] [stderr] Compiling core-error v0.0.1-rc4 (https://github.com/core-error/core-error#9ffbf19b) [INFO] [stderr] Compiling core-error v0.0.1-rc4 (/opt/rustwide/workdir/core-error) [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling synstructure v0.12.4 [INFO] [stderr] Compiling futures-macro v0.3.5 [INFO] [stderr] Compiling thiserror-impl v1.0.11 (/opt/rustwide/workdir/thiserror/impl) [INFO] [stderr] Compiling 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 { [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> { [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 thiserror v1.0.11 (/opt/rustwide/workdir/thiserror) [INFO] [stderr] Compiling pin-project v0.4.22 [INFO] [stderr] Compiling futures-util v0.3.5 [INFO] [stderr] Compiling futures-executor v0.3.5 [INFO] [stderr] Compiling piper v0.1.3 [INFO] [stderr] Compiling futures v0.3.5 [INFO] [stderr] Compiling protocol v0.1.0 (/opt/rustwide/workdir/protocol) [INFO] [stderr] Compiling bincode v1.2.1 [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(>::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(>::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(>::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(>::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] [stderr] Compiling protocol-mve-transport v0.1.0 (/opt/rustwide/workdir/protocol-mve-transport) [INFO] [stderr] Compiling compilemem v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `core::pin::Pin` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sink` and `Stream` [INFO] [stdout] --> src/main.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use futures::{Sink, Stream}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tester` is never constructed [INFO] [stdout] --> src/main.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | struct Tester [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Id` and up 2 bodies [INFO] [stdout] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 11 | pub struct Id([u8; 32]); [INFO] [stdout] | -- `Id` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Id` and up 2 bodies [INFO] [stdout] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 11 | pub struct Id([u8; 32]); [INFO] [stdout] | -- `Id` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Item` and up 2 bodies [INFO] [stdout] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 15 | pub struct Item { [INFO] [stdout] | ---- `Item` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Item` and up 2 bodies [INFO] [stdout] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 15 | pub struct Item { [INFO] [stdout] | ---- `Item` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_TypePosition` and up 2 bodies [INFO] [stdout] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 22 | pub enum TypePosition { [INFO] [stdout] | ------------ `TypePosition` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_TypePosition` and up 2 bodies [INFO] [stdout] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 22 | pub enum TypePosition { [INFO] [stdout] | ------------ `TypePosition` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Generics` and up 2 bodies [INFO] [stdout] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 29 | pub struct Generics { [INFO] [stdout] | -------- `Generics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Generics` and up 2 bodies [INFO] [stdout] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 29 | pub struct Generics { [INFO] [stdout] | -------- `Generics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Binding` and up 2 bodies [INFO] [stdout] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 36 | pub struct Binding { [INFO] [stdout] | ------- `Binding` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Binding` and up 2 bodies [INFO] [stdout] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 36 | pub struct Binding { [INFO] [stdout] | ------- `Binding` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Product` and up 2 bodies [INFO] [stdout] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 43 | pub struct Product { [INFO] [stdout] | ------- `Product` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Product` and up 2 bodies [INFO] [stdout] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 43 | pub struct Product { [INFO] [stdout] | ------- `Product` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Variant` and up 2 bodies [INFO] [stdout] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 49 | pub struct Variant { [INFO] [stdout] | ------- `Variant` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Variant` and up 2 bodies [INFO] [stdout] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 49 | pub struct Variant { [INFO] [stdout] | ------- `Variant` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Receiver` and up 2 bodies [INFO] [stdout] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 56 | pub enum Receiver { [INFO] [stdout] | -------- `Receiver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Receiver` and up 2 bodies [INFO] [stdout] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 56 | pub enum Receiver { [INFO] [stdout] | -------- `Receiver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Method` and up 2 bodies [INFO] [stdout] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 64 | pub struct Method { [INFO] [stdout] | ------ `Method` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Method` and up 2 bodies [INFO] [stdout] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 64 | pub struct Method { [INFO] [stdout] | ------ `Method` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Capture` and up 2 bodies [INFO] [stdout] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 72 | pub enum Capture { [INFO] [stdout] | ------- `Capture` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Capture` and up 2 bodies [INFO] [stdout] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 72 | pub enum Capture { [INFO] [stdout] | ------- `Capture` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Type` and up 2 bodies [INFO] [stdout] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 80 | pub enum Type { [INFO] [stdout] | ---- `Type` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Type` and up 2 bodies [INFO] [stdout] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 80 | pub enum Type { [INFO] [stdout] | ---- `Type` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.24s [INFO] running `Command { std: "docker" "inspect" "83064f7f5fe89905c24cddfd81b7922f52408fd97c71ea3af5ac891b53d99694", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83064f7f5fe89905c24cddfd81b7922f52408fd97c71ea3af5ac891b53d99694", kill_on_drop: false }` [INFO] [stdout] 83064f7f5fe89905c24cddfd81b7922f52408fd97c71ea3af5ac891b53d99694 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f0a6d73db4717ea5b864a31d65b313335a49698e7bee9b64c16e810d482faa2 [INFO] running `Command { std: "docker" "start" "-a" "0f0a6d73db4717ea5b864a31d65b313335a49698e7bee9b64c16e810d482faa2", 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] [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 { [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> { [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: 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] [stderr] Compiling compilemem v0.1.0 (/opt/rustwide/workdir) [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(>::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(>::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(>::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(>::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 import: `core::pin::Pin` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Sink` and `Stream` [INFO] [stdout] --> src/main.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use futures::{Sink, Stream}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tester` is never constructed [INFO] [stdout] --> src/main.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | struct Tester [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Id` and up 2 bodies [INFO] [stdout] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 11 | pub struct Id([u8; 32]); [INFO] [stdout] | -- `Id` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Id` and up 2 bodies [INFO] [stdout] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 11 | pub struct Id([u8; 32]); [INFO] [stdout] | -- `Id` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Item` and up 2 bodies [INFO] [stdout] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 15 | pub struct Item { [INFO] [stdout] | ---- `Item` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Item` and up 2 bodies [INFO] [stdout] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 15 | pub struct Item { [INFO] [stdout] | ---- `Item` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_TypePosition` and up 2 bodies [INFO] [stdout] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 22 | pub enum TypePosition { [INFO] [stdout] | ------------ `TypePosition` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_TypePosition` and up 2 bodies [INFO] [stdout] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 22 | pub enum TypePosition { [INFO] [stdout] | ------------ `TypePosition` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Generics` and up 2 bodies [INFO] [stdout] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 29 | pub struct Generics { [INFO] [stdout] | -------- `Generics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Generics` and up 2 bodies [INFO] [stdout] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 29 | pub struct Generics { [INFO] [stdout] | -------- `Generics` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Binding` and up 2 bodies [INFO] [stdout] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 36 | pub struct Binding { [INFO] [stdout] | ------- `Binding` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Binding` and up 2 bodies [INFO] [stdout] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 36 | pub struct Binding { [INFO] [stdout] | ------- `Binding` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Product` and up 2 bodies [INFO] [stdout] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 43 | pub struct Product { [INFO] [stdout] | ------- `Product` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Product` and up 2 bodies [INFO] [stdout] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 43 | pub struct Product { [INFO] [stdout] | ------- `Product` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Variant` and up 2 bodies [INFO] [stdout] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 49 | pub struct Variant { [INFO] [stdout] | ------- `Variant` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Variant` and up 2 bodies [INFO] [stdout] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 49 | pub struct Variant { [INFO] [stdout] | ------- `Variant` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Receiver` and up 2 bodies [INFO] [stdout] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 56 | pub enum Receiver { [INFO] [stdout] | -------- `Receiver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Receiver` and up 2 bodies [INFO] [stdout] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 56 | pub enum Receiver { [INFO] [stdout] | -------- `Receiver` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Method` and up 2 bodies [INFO] [stdout] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 64 | pub struct Method { [INFO] [stdout] | ------ `Method` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Method` and up 2 bodies [INFO] [stdout] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 64 | pub struct Method { [INFO] [stdout] | ------ `Method` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Capture` and up 2 bodies [INFO] [stdout] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 72 | pub enum Capture { [INFO] [stdout] | ------- `Capture` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Capture` and up 2 bodies [INFO] [stdout] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 72 | pub enum Capture { [INFO] [stdout] | ------- `Capture` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Coalesce` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Type` and up 2 bodies [INFO] [stdout] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 80 | pub enum Type { [INFO] [stdout] | ---- `Type` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/main.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | #[protocol] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Unravel` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Type` and up 2 bodies [INFO] [stdout] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stdout] 80 | pub enum Type { [INFO] [stdout] | ---- `Type` is not local [INFO] [stdout] | [INFO] [stdout] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.14s [INFO] running `Command { std: "docker" "inspect" "0f0a6d73db4717ea5b864a31d65b313335a49698e7bee9b64c16e810d482faa2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f0a6d73db4717ea5b864a31d65b313335a49698e7bee9b64c16e810d482faa2", kill_on_drop: false }` [INFO] [stdout] 0f0a6d73db4717ea5b864a31d65b313335a49698e7bee9b64c16e810d482faa2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ea198df50f8d599da718243d1b9d2702c6d6fc5f56663c6e19978b3bafc7b6b2 [INFO] running `Command { std: "docker" "start" "-a" "ea198df50f8d599da718243d1b9d2702c6d6fc5f56663c6e19978b3bafc7b6b2", 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] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/attr.rs:27:19 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn get(input: &[Attribute]) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 27 | pub fn get(input: &[Attribute]) -> Result> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | pub(crate) fn from_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 5 | pub(crate) fn from_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) fn source_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) fn source_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:13:35 [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) fn backtrace_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | pub(crate) fn from_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 46 | pub(crate) fn from_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:50:32 [INFO] [stderr] | [INFO] [stderr] 50 | pub(crate) fn source_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 50 | pub(crate) fn source_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> thiserror/impl/src/prop.rs:54:35 [INFO] [stderr] | [INFO] [stderr] 54 | pub(crate) fn backtrace_field(&self) -> Option<&Field> { [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] | | || [INFO] [stderr] | | |the same lifetime is hidden here [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 54 | pub(crate) fn backtrace_field(&self) -> Option<&Field<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `thiserror-impl` (lib) generated 7 warnings (run `cargo fix --lib -p thiserror-impl` to apply 7 suggestions) [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:330:25 [INFO] [stderr] | [INFO] [stderr] 330 | replace(this, Array0001Unravel::Fork(ctx.fork(data))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 330 | let _ = replace(this, Array0001Unravel::Fork(ctx.fork(data))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:338:21 [INFO] [stderr] | [INFO] [stderr] 338 | replace(this, Array0001Unravel::Write(handle, target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 338 | let _ = replace(this, Array0001Unravel::Write(handle, target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:346:25 [INFO] [stderr] | [INFO] [stderr] 346 | replace(this, Array0001Unravel::Flush(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 346 | let _ = replace(this, Array0001Unravel::Flush(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:356:25 [INFO] [stderr] | [INFO] [stderr] 356 | replace(this, Array0001Unravel::Target(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 356 | let _ = replace(this, Array0001Unravel::Target(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:364:21 [INFO] [stderr] | [INFO] [stderr] 364 | replace(this, Array0001Unravel::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 364 | let _ = replace(this, Array0001Unravel::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/arrays.rs:397:21 [INFO] [stderr] | [INFO] [stderr] 397 | replace(this, Array0001Coalesce::Join(ctx.join(handle))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 397 | let _ = replace(this, Array0001Coalesce::Join(ctx.join(handle))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:117:21 [INFO] [stderr] | [INFO] [stderr] 117 | replace(this, OptionUnravel::Flush(None)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 117 | let _ = replace(this, OptionUnravel::Flush(None)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:122:25 [INFO] [stderr] | [INFO] [stderr] 122 | replace(this, OptionUnravel::Fork(ctx.fork(data))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 122 | let _ = replace(this, OptionUnravel::Fork(ctx.fork(data))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:130:21 [INFO] [stderr] | [INFO] [stderr] 130 | replace(this, OptionUnravel::Write(handle, target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 130 | let _ = replace(this, OptionUnravel::Write(handle, target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:139:25 [INFO] [stderr] | [INFO] [stderr] 139 | replace(this, OptionUnravel::Flush(Some(target))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 139 | let _ = replace(this, OptionUnravel::Flush(Some(target))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:150:29 [INFO] [stderr] | [INFO] [stderr] 150 | ... replace(this, OptionUnravel::Target(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 150 | let _ = replace(this, OptionUnravel::Target(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:152:29 [INFO] [stderr] | [INFO] [stderr] 152 | ... replace(this, OptionUnravel::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 152 | let _ = replace(this, OptionUnravel::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:162:21 [INFO] [stderr] | [INFO] [stderr] 162 | replace(this, OptionUnravel::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 162 | let _ = replace(this, OptionUnravel::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:197:29 [INFO] [stderr] | [INFO] [stderr] 197 | ... replace(this, OptionCoalesce::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 197 | let _ = replace(this, OptionCoalesce::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/option.rs:201:29 [INFO] [stderr] | [INFO] [stderr] 201 | ... replace(this, OptionCoalesce::Join(ctx.join(handle))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 201 | let _ = replace(this, OptionCoalesce::Join(ctx.join(handle))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:169:25 [INFO] [stderr] | [INFO] [stderr] 169 | replace(this, ResultUnravel::OkFork(ctx.fork(data))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 169 | let _ = replace(this, ResultUnravel::OkFork(ctx.fork(data))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | replace(this, ResultUnravel::OkWrite(handle, target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 177 | let _ = replace(this, ResultUnravel::OkWrite(handle, target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:182:25 [INFO] [stderr] | [INFO] [stderr] 182 | replace(this, ResultUnravel::ErrFork(ctx.fork(data))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 182 | let _ = replace(this, ResultUnravel::ErrFork(ctx.fork(data))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:190:21 [INFO] [stderr] | [INFO] [stderr] 190 | replace(this, ResultUnravel::ErrWrite(handle, target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 190 | let _ = replace(this, ResultUnravel::ErrWrite(handle, target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:198:25 [INFO] [stderr] | [INFO] [stderr] 198 | replace(this, ResultUnravel::OkFlush(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 198 | let _ = replace(this, ResultUnravel::OkFlush(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:210:25 [INFO] [stderr] | [INFO] [stderr] 210 | replace(this, ResultUnravel::ErrFlush(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 210 | let _ = replace(this, ResultUnravel::ErrFlush(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:220:25 [INFO] [stderr] | [INFO] [stderr] 220 | replace(this, ResultUnravel::OkTarget(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 220 | let _ = replace(this, ResultUnravel::OkTarget(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:230:25 [INFO] [stderr] | [INFO] [stderr] 230 | replace(this, ResultUnravel::ErrTarget(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 230 | let _ = replace(this, ResultUnravel::ErrTarget(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | replace(this, ResultUnravel::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 238 | let _ = replace(this, ResultUnravel::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:246:21 [INFO] [stderr] | [INFO] [stderr] 246 | replace(this, ResultUnravel::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 246 | let _ = replace(this, ResultUnravel::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:294:29 [INFO] [stderr] | [INFO] [stderr] 294 | / ... replace( [INFO] [stderr] 295 | | ... this, [INFO] [stderr] 296 | | ... ResultCoalesce::OkJoin(>::join(ctx, data)), [INFO] [stderr] 297 | | ... ); [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 294 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/result.rs:300:29 [INFO] [stderr] | [INFO] [stderr] 300 | / ... replace( [INFO] [stderr] 301 | | ... this, [INFO] [stderr] 302 | | ... ResultCoalesce::ErrJoin(>::join(ctx, data)), [INFO] [stderr] 303 | | ... ); [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 300 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:649:21 [INFO] [stderr] | [INFO] [stderr] 649 | / replace( [INFO] [stderr] 650 | | &mut this.state, [INFO] [stderr] 651 | | Tuple2UnravelState::T( [INFO] [stderr] 652 | | ctx.fork(this.data.0.take().expect("data incomplete")), [INFO] [stderr] 653 | | ), [INFO] [stderr] 654 | | ); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 649 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:661:21 [INFO] [stderr] | [INFO] [stderr] 661 | / replace( [INFO] [stderr] 662 | | &mut this.state, [INFO] [stderr] 663 | | Tuple2UnravelState::U( [INFO] [stderr] 664 | | ctx.fork(this.data.1.take().expect("data incomplete")), [INFO] [stderr] 665 | | ), [INFO] [stderr] 666 | | ); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 661 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:673:21 [INFO] [stderr] | [INFO] [stderr] 673 | replace(&mut this.state, Tuple2UnravelState::Writing); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 673 | let _ = replace(&mut this.state, Tuple2UnravelState::Writing); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:683:21 [INFO] [stderr] | [INFO] [stderr] 683 | replace(&mut this.state, Tuple2UnravelState::Flushing); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 683 | let _ = replace(&mut this.state, Tuple2UnravelState::Flushing); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:689:21 [INFO] [stderr] | [INFO] [stderr] 689 | replace(&mut this.state, Tuple2UnravelState::Target); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 689 | let _ = replace(&mut this.state, Tuple2UnravelState::Target); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:695:21 [INFO] [stderr] | [INFO] [stderr] 695 | replace(&mut this.state, Tuple2UnravelState::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 695 | let _ = replace(&mut this.state, Tuple2UnravelState::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:746:21 [INFO] [stderr] | [INFO] [stderr] 746 | / replace( [INFO] [stderr] 747 | | &mut this.state, [INFO] [stderr] 748 | | Tuple2CoalesceState::T(>::join(ctx, first)), [INFO] [stderr] 749 | | ); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 746 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:757:21 [INFO] [stderr] | [INFO] [stderr] 757 | / replace( [INFO] [stderr] 758 | | &mut this.state, [INFO] [stderr] 759 | | Tuple2CoalesceState::U(>::join( [INFO] [stderr] 760 | | ctx, [INFO] [stderr] 761 | | this.handles.1.take().expect("handles incomplete"), [INFO] [stderr] 762 | | )), [INFO] [stderr] 763 | | ); [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 757 | let _ = replace( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:769:21 [INFO] [stderr] | [INFO] [stderr] 769 | replace(&mut this.state, Tuple2CoalesceState::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 769 | let _ = replace(&mut this.state, Tuple2CoalesceState::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:981:25 [INFO] [stderr] | [INFO] [stderr] 981 | replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 981 | let _ = replace(&mut this.state, FlatUnravelState::Fork(ctx.fork(data))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:989:21 [INFO] [stderr] | [INFO] [stderr] 989 | replace(&mut this.state, FlatUnravelState::Write(handle, target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 989 | let _ = replace(&mut this.state, FlatUnravelState::Write(handle, target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:997:25 [INFO] [stderr] | [INFO] [stderr] 997 | replace(&mut this.state, FlatUnravelState::Flush(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 997 | let _ = replace(&mut this.state, FlatUnravelState::Flush(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:1007:25 [INFO] [stderr] | [INFO] [stderr] 1007 | replace(&mut this.state, FlatUnravelState::Target(target)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1007 | let _ = replace(&mut this.state, FlatUnravelState::Target(target)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:1015:21 [INFO] [stderr] | [INFO] [stderr] 1015 | replace(&mut this.state, FlatUnravelState::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1015 | let _ = replace(&mut this.state, FlatUnravelState::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:1048:21 [INFO] [stderr] | [INFO] [stderr] 1048 | replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1048 | let _ = replace(&mut this.state, FlatCoalesceState::Join(ctx.join(handle))); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:1053:21 [INFO] [stderr] | [INFO] [stderr] 1053 | replace(&mut this.state, FlatCoalesceState::Done); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1053 | let _ = replace(&mut this.state, FlatCoalesceState::Done); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used [INFO] [stderr] --> protocol/src/tuples.rs:1098:1 [INFO] [stderr] | [INFO] [stderr] 1098 | / tuple_impls! { [INFO] [stderr] 1099 | | Tuple3Coalesce Tuple3CoalesceState Tuple3Unravel Tuple3UnravelState Tuple3UnravelError Tuple3CoalesceError => (0 (T0 T1) 1 (T1 ... [INFO] [stderr] 1100 | | Tuple4Coalesce Tuple4CoalesceState Tuple4Unravel Tuple4UnravelState Tuple4UnravelError Tuple4CoalesceError => (0 (T0 T1) 1 (T1 ... [INFO] [stderr] 1101 | | Tuple5Coalesce Tuple5CoalesceState Tuple5Unravel Tuple5UnravelState Tuple5UnravelError Tuple5CoalesceError => (0 (T0 T1) 1 (T1 ... [INFO] [stderr] ... | [INFO] [stderr] 1112 | | Tuple16Coalesce Tuple16CoalesceState Tuple16Unravel Tuple16UnravelState Tuple16UnravelError Tuple16CoalesceError => (0 (T0 T1) 1 (T1 ... [INFO] [stderr] 1113 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1098 | let _ = tuple_impls! { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `protocol` (lib) generated 44 warnings [INFO] [stderr] warning: unused import: `core::pin::Pin` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use core::pin::Pin; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Sink` and `Stream` [INFO] [stderr] --> src/main.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | use futures::{Sink, Stream}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Tester` is never constructed [INFO] [stderr] --> src/main.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | struct Tester [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Id` and up 2 bodies [INFO] [stderr] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 11 | pub struct Id([u8; 32]); [INFO] [stderr] | -- `Id` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Id` and up 2 bodies [INFO] [stderr] 10 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 11 | pub struct Id([u8; 32]); [INFO] [stderr] | -- `Id` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Item` and up 2 bodies [INFO] [stderr] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 15 | pub struct Item { [INFO] [stderr] | ---- `Item` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Item` and up 2 bodies [INFO] [stderr] 14 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 15 | pub struct Item { [INFO] [stderr] | ---- `Item` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_TypePosition` and up 2 bodies [INFO] [stderr] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 22 | pub enum TypePosition { [INFO] [stderr] | ------------ `TypePosition` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_TypePosition` and up 2 bodies [INFO] [stderr] 21 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 22 | pub enum TypePosition { [INFO] [stderr] | ------------ `TypePosition` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Generics` and up 2 bodies [INFO] [stderr] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 29 | pub struct Generics { [INFO] [stderr] | -------- `Generics` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Generics` and up 2 bodies [INFO] [stderr] 28 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 29 | pub struct Generics { [INFO] [stderr] | -------- `Generics` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Binding` and up 2 bodies [INFO] [stderr] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 36 | pub struct Binding { [INFO] [stderr] | ------- `Binding` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Binding` and up 2 bodies [INFO] [stderr] 35 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 36 | pub struct Binding { [INFO] [stderr] | ------- `Binding` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Product` and up 2 bodies [INFO] [stderr] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 43 | pub struct Product { [INFO] [stderr] | ------- `Product` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Product` and up 2 bodies [INFO] [stderr] 42 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 43 | pub struct Product { [INFO] [stderr] | ------- `Product` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Variant` and up 2 bodies [INFO] [stderr] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 49 | pub struct Variant { [INFO] [stderr] | ------- `Variant` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Variant` and up 2 bodies [INFO] [stderr] 48 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 49 | pub struct Variant { [INFO] [stderr] | ------- `Variant` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Receiver` and up 2 bodies [INFO] [stderr] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 56 | pub enum Receiver { [INFO] [stderr] | -------- `Receiver` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Receiver` and up 2 bodies [INFO] [stderr] 55 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 56 | pub enum Receiver { [INFO] [stderr] | -------- `Receiver` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Method` and up 2 bodies [INFO] [stderr] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 64 | pub struct Method { [INFO] [stderr] | ------ `Method` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Method` and up 2 bodies [INFO] [stderr] 63 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 64 | pub struct Method { [INFO] [stderr] | ------ `Method` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Capture` and up 2 bodies [INFO] [stderr] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 72 | pub enum Capture { [INFO] [stderr] | ------- `Capture` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Capture` and up 2 bodies [INFO] [stderr] 71 | #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 72 | pub enum Capture { [INFO] [stderr] | ------- `Capture` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Coalesce` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Coalesce_C_FOR_Type` and up 2 bodies [INFO] [stderr] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 80 | pub enum Type { [INFO] [stderr] | ---- `Type` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/main.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | #[protocol] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Unravel` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_protocol_Unravel_C_FOR_Type` and up 2 bodies [INFO] [stderr] 79 | #[derive(Debug, Clone, Eq, Hash, PartialEq, Deserialize, Serialize)] [INFO] [stderr] 80 | pub enum Type { [INFO] [stderr] | ---- `Type` is not local [INFO] [stderr] | [INFO] [stderr] = note: the attribute macro `protocol` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the attribute macro `protocol` may come from an old version of the `derive` crate, try updating your dependency with `cargo update -p derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the attribute macro `protocol` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `compilemem` (bin "compilemem" test) generated 25 warnings (run `cargo fix --bin "compilemem" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/compilemem-2eb5ee75e717d94d) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ea198df50f8d599da718243d1b9d2702c6d6fc5f56663c6e19978b3bafc7b6b2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea198df50f8d599da718243d1b9d2702c6d6fc5f56663c6e19978b3bafc7b6b2", kill_on_drop: false }` [INFO] [stdout] ea198df50f8d599da718243d1b9d2702c6d6fc5f56663c6e19978b3bafc7b6b2