[INFO] cloning repository https://github.com/ivosequeros/gaze-client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ivosequeros/gaze-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivosequeros%2Fgaze-client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivosequeros%2Fgaze-client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6206de678599c66e371a9743d71a00733f0aa8d6
[INFO] checking ivosequeros/gaze-client against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivosequeros%2Fgaze-client" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ivosequeros/gaze-client
[INFO] finished tweaking git repo https://github.com/ivosequeros/gaze-client
[INFO] tweaked toml for git repo https://github.com/ivosequeros/gaze-client written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ivosequeros/gaze-client on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ivosequeros/gaze-client 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c
[INFO] running `Command { std: "docker" "start" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.33
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking futures-core v0.3.4
[INFO] [stderr]     Checking futures-sink v0.3.4
[INFO] [stderr]    Compiling proc-macro-nested v0.1.4
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling proc-macro-hack v0.5.15
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking futures-io v0.3.4
[INFO] [stderr]     Checking gimli v0.21.0
[INFO] [stderr]     Checking crossbeam-queue v0.2.2
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking futures-channel v0.3.4
[INFO] [stderr]     Checking arc-swap v0.4.6
[INFO] [stderr]     Checking futures-task v0.3.4
[INFO] [stderr]     Checking pin-utils v0.1.0-alpha.4
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking object v0.19.0
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking num-integer v0.1.42
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]     Checking pin-project-lite v0.1.6
[INFO] [stderr]     Checking rle-decode-fast v1.0.1
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking libflate v0.1.27
[INFO] [stderr]     Checking criterion-plot v0.4.2
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]     Checking seahash v3.0.7
[INFO] [stderr]     Checking strum v0.18.0
[INFO] [stderr]     Checking oorandom v11.1.1
[INFO] [stderr]    Compiling fasthash-sys v0.3.2
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rayon-core v1.7.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking xoroshiro128 v0.3.0
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking uuid v0.8.1
[INFO] [stderr]     Checking addr2line v0.12.1
[INFO] [stderr]     Checking backtrace v0.3.48
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]    Compiling futures-macro v0.3.4
[INFO] [stderr]    Compiling tokio-macros v0.2.5
[INFO] [stderr]    Compiling typed-builder v0.5.1
[INFO] [stderr]    Compiling strum_macros v0.18.0
[INFO] [stderr]    Compiling async-trait v0.1.31
[INFO] [stderr]     Checking fasthash v0.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.2.0
[INFO] [stderr]     Checking tokio v0.2.21
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking zerocopy v0.3.0
[INFO] [stderr]     Checking futures-util v0.3.4
[INFO] [stderr]     Checking futures-executor v0.3.4
[INFO] [stderr]     Checking futures v0.3.4
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking bstr v0.2.13
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]     Checking tinytemplate v1.0.4
[INFO] [stderr]     Checking avro-rs v0.10.0
[INFO] [stderr]     Checking criterion v0.3.2
[INFO] [stderr]    Compiling gaze_macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stdout] warning: trait `WithMessageType` is never used
[INFO] [stdout]  --> macros/src/message.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait WithMessageType {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gaze v0.1.0 (/opt/rustwide/workdir/library)
[INFO] [stdout] warning: unused import: `crate::numbers::VarIntEncoder`
[INFO] [stdout]  --> library/src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::numbers::VarIntEncoder;
[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: `to_avro_datum` and `to_value`
[INFO] [stdout]  --> library/src/lib.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use avro_rs::{to_avro_datum, to_value, types::Value, Schema};
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `message::WithMessageType`
[INFO] [stdout]   --> library/src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use message::WithMessageType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReadProtocol`
[INFO] [stdout]   --> library/src/lib.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use protocol::{ReadProtocol, WriteProtocol};
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Serialize`
[INFO] [stdout]   --> library/src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::ser::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sender`
[INFO] [stdout]   --> library/src/lib.rs:21:44
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::sync::mpsc::{channel, Receiver, Sender};
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> library/src/lib.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]   --> library/src/numbers.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut i = 0;
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_i` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> library/src/numbers.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |             i += 1;
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> library/src/protocol.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> library/src/reader.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     let id: Vec<u8> = stream_reader.read_ack().await;
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> library/src/reader.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     let id: Vec<u8> = stream_reader.read_ack().await;
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]   --> library/src/reader.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let (message, length): (Vec<u8>, u32) = stream_reader.read_message().await;
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]    --> library/src/lib.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let schema: &Schema = schemas.get(&message_type).unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> library/src/reader.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout] 102 | ...                   subscriber.send(decoded_message).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 102 |                             let _ = subscriber.send(decoded_message).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gazeclient v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/producer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::Value`
[INFO] [stdout]  --> src/producer.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use avro_rs::{to_avro_datum, to_value, types::Value, Schema};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join_all`
[INFO] [stdout]  --> src/main.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::future::{join_all};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::delay_for`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::time::delay_for;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/producer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::Value`
[INFO] [stdout]  --> src/producer.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use avro_rs::{to_avro_datum, to_value, types::Value, Schema};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join_all`
[INFO] [stdout]  --> src/main.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures::future::{join_all};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::delay_for`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::time::delay_for;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/subscriber.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     while let Some(message) = messages.recv().await {
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserCreated` is never constructed
[INFO] [stdout]  --> src/subscriber.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct UserCreated {
[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/producer.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[message_type("my.company.user_created")]
[INFO] [stdout]   | ^-----------------------------------------
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserCreated`
[INFO] [stdout] 7 | #[derive(Clone)]
[INFO] [stdout] 8 | struct UserCreated {
[INFO] [stdout]   |        ----------- `UserCreated` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 derive macro `Serialize` which comes from the expansion of the attribute macro `message_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/producer.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         gaze.publish(encoded_message.clone(), message_type.clone()).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let _unused = gaze.publish(encoded_message.clone(), message_type.clone()).await;
[INFO] [stdout]    |         +++++++++++++
[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/subscriber.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[message_type("my.company.user_created")]
[INFO] [stdout]   | ^-----------------------------------------
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserCreated`
[INFO] [stdout] 7 | struct UserCreated {
[INFO] [stdout]   |        ----------- `UserCreated` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 derive macro `Serialize` which comes from the expansion of the attribute macro `message_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/subscriber.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     while let Some(message) = messages.recv().await {
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserCreated` is never constructed
[INFO] [stdout]  --> src/subscriber.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct UserCreated {
[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/producer.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[message_type("my.company.user_created")]
[INFO] [stdout]   | ^-----------------------------------------
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserCreated`
[INFO] [stdout] 7 | #[derive(Clone)]
[INFO] [stdout] 8 | struct UserCreated {
[INFO] [stdout]   |        ----------- `UserCreated` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 derive macro `Serialize` which comes from the expansion of the attribute macro `message_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/producer.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         gaze.publish(encoded_message.clone(), message_type.clone()).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _unused = ...` to ignore the resulting value without dropping it immediately
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let _unused = gaze.publish(encoded_message.clone(), message_type.clone()).await;
[INFO] [stdout]    |         +++++++++++++
[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/subscriber.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[message_type("my.company.user_created")]
[INFO] [stdout]   | ^-----------------------------------------
[INFO] [stdout]   | |
[INFO] [stdout]   | `Serialize` is not local
[INFO] [stdout]   | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UserCreated`
[INFO] [stdout] 7 | struct UserCreated {
[INFO] [stdout]   |        ----------- `UserCreated` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 derive macro `Serialize` which comes from the expansion of the attribute macro `message_type` (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 31.73s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7`
[INFO] running `Command { std: "docker" "inspect" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c", kill_on_drop: false }`
[INFO] [stdout] 7cefe21b7f0ec4eae8b65206d47928e648c43013819fe677ca234f1b5ea31d2c
