[INFO] fetching crate steady 0.1.0...
[INFO] testing steady-0.1.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate steady 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate steady 0.1.0
[INFO] finished tweaking crates.io crate steady 0.1.0
[INFO] tweaked toml for crates.io crate steady 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate steady 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 135 packages to highest compatible versions
[INFO] [stderr]       Adding bincode v1.3.3 (available: v3.0.0)
[INFO] [stderr]       Adding nanoid v0.4.0 (available: v0.5.0)
[INFO] [stderr]       Adding prost v0.8.0 (available: v0.14.4)
[INFO] [stderr]       Adding redis v0.21.8 (available: v1.7.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.21)
[INFO] [stderr]       Adding tracing-subscriber v0.2.25 (available: v0.3.23)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361
[INFO] running `Command { std: "docker" "start" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", 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" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling either v1.19.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling sha1 v0.6.1
[INFO] [stderr]    Compiling combine v4.6.9
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling nanoid v0.4.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling prost-derive v0.8.0
[INFO] [stderr]    Compiling prost v0.8.0
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling redis v0.21.8
[INFO] [stderr]    Compiling steady v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `aio::ConnectionLike`
[INFO] [stdout]  --> src/backends/redis.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::{aio::ConnectionLike, AsyncCommands, FromRedisValue, RedisWrite, ToRedisArgs};
[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: `JobId`
[INFO] [stdout]  --> src/consumer.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 |     jobs::{self, JobDefinition, JobHandler, JobId},
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]  --> src/consumer.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `de::DeserializeOwned`
[INFO] [stdout]  --> src/consumer.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]   --> src/consumer.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Handle`
[INFO] [stdout]   --> src/consumer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     runtime::Handle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/jobs.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Error, Result, StdError};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]  --> src/jobs.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/backends/redis.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     panic!("well {:?}", result);
[INFO] [stdout]    |     --------------------------- any code following this expression is unreachable
[INFO] [stdout] 91 |     Ok(())
[INFO] [stdout]    |     ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]  --> src/consumer.rs:8:48
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock` is never used
[INFO] [stdout]   --> src/backends/redis.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | async fn lock(connection: &mut redis::aio::Connection, key: &str) -> Result<()> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager_tx` is never read
[INFO] [stdout]   --> src/consumer.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Queue<Backend> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     manager_tx: UnboundedSender<ManagerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct Consumer<Backend> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `action_tx` is never used
[INFO] [stdout]    --> src/consumer.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 165 | / impl<Backend> Consumer<Backend>
[INFO] [stdout] 166 | | where
[INFO] [stdout] 167 | |     Backend: backends::Backend + 'static,
[INFO] [stdout]     | |_________________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |       pub(crate) fn action_tx(&self) -> UnboundedSender<ManagerAction> {
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | struct ManagerInner<Backend> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 303 |     queues_by_name: HashMap<QueueName, Mutex<Queue<Backend>>>,
[INFO] [stdout] 304 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ManagerInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct Poller<Backend> {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 439 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | struct PollerInner<Backend> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 450 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `producer_tx` is never read
[INFO] [stdout]   --> src/cron.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CronScheduler<Backend> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     producer_tx: UnboundedSender<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Job` is never constructed
[INFO] [stdout]   --> src/jobs.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Job {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_rx` is never read
[INFO] [stdout]   --> src/producer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Producer<Backend> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     action_rx: UnboundedReceiver<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `value` should have an upper case name
[INFO] [stdout]   --> src/backends/redis.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 |     const value: &'static str = "lock";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 81 -     const value: &'static str = "lock";
[INFO] [stdout] 81 +     const VALUE: &'static str = "lock";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 35.35s
[INFO] running `Command { std: "docker" "inspect" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.53.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling prost-derive v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling test-env-log v0.2.8
[INFO] [stderr]    Compiling prost v0.8.0
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling tokio-util v0.7.20
[INFO] [stderr]    Compiling combine v4.6.9
[INFO] [stderr]    Compiling redis v0.21.8
[INFO] [stderr]    Compiling steady v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `aio::ConnectionLike`
[INFO] [stdout]  --> src/backends/redis.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::{aio::ConnectionLike, AsyncCommands, FromRedisValue, RedisWrite, ToRedisArgs};
[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: `JobId`
[INFO] [stdout]  --> src/consumer.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 |     jobs::{self, JobDefinition, JobHandler, JobId},
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]  --> src/consumer.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `de::DeserializeOwned`
[INFO] [stdout]  --> src/consumer.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]   --> src/consumer.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Handle`
[INFO] [stdout]   --> src/consumer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     runtime::Handle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/jobs.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Error, Result, StdError};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]  --> src/jobs.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/backends/redis.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     panic!("well {:?}", result);
[INFO] [stdout]    |     --------------------------- any code following this expression is unreachable
[INFO] [stdout] 91 |     Ok(())
[INFO] [stdout]    |     ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]  --> src/consumer.rs:8:48
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock` is never used
[INFO] [stdout]   --> src/backends/redis.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | async fn lock(connection: &mut redis::aio::Connection, key: &str) -> Result<()> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager_tx` is never read
[INFO] [stdout]   --> src/consumer.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Queue<Backend> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     manager_tx: UnboundedSender<ManagerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct Consumer<Backend> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `action_tx` is never used
[INFO] [stdout]    --> src/consumer.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 165 | / impl<Backend> Consumer<Backend>
[INFO] [stdout] 166 | | where
[INFO] [stdout] 167 | |     Backend: backends::Backend + 'static,
[INFO] [stdout]     | |_________________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |       pub(crate) fn action_tx(&self) -> UnboundedSender<ManagerAction> {
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | struct ManagerInner<Backend> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 303 |     queues_by_name: HashMap<QueueName, Mutex<Queue<Backend>>>,
[INFO] [stdout] 304 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ManagerInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct Poller<Backend> {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 439 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | struct PollerInner<Backend> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 450 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `producer_tx` is never read
[INFO] [stdout]   --> src/cron.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CronScheduler<Backend> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     producer_tx: UnboundedSender<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Job` is never constructed
[INFO] [stdout]   --> src/jobs.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Job {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_rx` is never read
[INFO] [stdout]   --> src/producer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Producer<Backend> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     action_rx: UnboundedReceiver<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `value` should have an upper case name
[INFO] [stdout]   --> src/backends/redis.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 |     const value: &'static str = "lock";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 81 -     const value: &'static str = "lock";
[INFO] [stdout] 81 +     const VALUE: &'static str = "lock";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aio::ConnectionLike`
[INFO] [stdout]  --> src/backends/redis.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use redis::{aio::ConnectionLike, AsyncCommands, FromRedisValue, RedisWrite, ToRedisArgs};
[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: `JobId`
[INFO] [stdout]  --> src/consumer.rs:4:45
[INFO] [stdout]   |
[INFO] [stdout] 4 |     jobs::{self, JobDefinition, JobHandler, JobId},
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]  --> src/consumer.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `de::DeserializeOwned`
[INFO] [stdout]  --> src/consumer.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]   --> src/consumer.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{any::Any, collections::HashMap, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Handle`
[INFO] [stdout]   --> src/consumer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     runtime::Handle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/jobs.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Error, Result, StdError};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]  --> src/jobs.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{de::DeserializeOwned, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/backends/redis.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     panic!("well {:?}", result);
[INFO] [stdout]    |     --------------------------- any code following this expression is unreachable
[INFO] [stdout] 91 |     Ok(())
[INFO] [stdout]    |     ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]  --> src/consumer.rs:8:48
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{Stream, StreamExt, TryFutureExt, TryStreamExt};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lock` is never used
[INFO] [stdout]   --> src/backends/redis.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | async fn lock(connection: &mut redis::aio::Connection, key: &str) -> Result<()> {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `manager_tx` is never read
[INFO] [stdout]   --> src/consumer.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Queue<Backend> {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     manager_tx: UnboundedSender<ManagerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct Consumer<Backend> {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 150 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `action_tx` is never used
[INFO] [stdout]    --> src/consumer.rs:201:19
[INFO] [stdout]     |
[INFO] [stdout] 165 | / impl<Backend> Consumer<Backend>
[INFO] [stdout] 166 | | where
[INFO] [stdout] 167 | |     Backend: backends::Backend + 'static,
[INFO] [stdout]     | |_________________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |       pub(crate) fn action_tx(&self) -> UnboundedSender<ManagerAction> {
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | struct ManagerInner<Backend> {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 303 |     queues_by_name: HashMap<QueueName, Mutex<Queue<Backend>>>,
[INFO] [stdout] 304 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ManagerInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_handlers` is never read
[INFO] [stdout]    --> src/consumer.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 433 | struct Poller<Backend> {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 439 |     error_handlers: ErrorHandlers,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backend` is never read
[INFO] [stdout]    --> src/consumer.rs:450:5
[INFO] [stdout]     |
[INFO] [stdout] 449 | struct PollerInner<Backend> {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 450 |     backend: Backend,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `producer_tx` is never read
[INFO] [stdout]   --> src/cron.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CronScheduler<Backend> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     producer_tx: UnboundedSender<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Job` is never constructed
[INFO] [stdout]   --> src/jobs.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Job {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `action_rx` is never read
[INFO] [stdout]   --> src/producer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Producer<Backend> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     action_rx: UnboundedReceiver<ProducerAction>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `value` should have an upper case name
[INFO] [stdout]   --> src/backends/redis.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 |     const value: &'static str = "lock";
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 81 -     const value: &'static str = "lock";
[INFO] [stdout] 81 +     const VALUE: &'static str = "lock";
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `logtest`: test-env-log has been renamed to test-log; use it instead
[INFO] [stdout]   --> tests/schedule_test.rs:23:3
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[logtest(tokio::test)]
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `logtest`: test-env-log has been renamed to test-log; use it instead
[INFO] [stdout]   --> tests/schedule_test.rs:34:3
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[logtest(tokio::test)]
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `schedule` found for struct `Consumer<Backend>` in the current scope
[INFO] [stdout]   --> tests/schedule_test.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let job_id = consumer
[INFO] [stdout] 28 |         .schedule::<Log>(&"test, redis".to_string(), QueueName::from("default"))
[INFO] [stdout]    |          ^^^^^^^^ method not found in `Consumer<RedisBackend>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `schedule` found for struct `Consumer<Backend>` in the current scope
[INFO] [stdout]   --> tests/schedule_test.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let job_id = consumer
[INFO] [stdout] 39 |         .schedule::<Log>(&"test, memory".to_string(), QueueName::from("default"))
[INFO] [stdout]    |          ^^^^^^^^ method not found in `Consumer<MemoryBackend>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `steady` (test "schedule_test") due to 2 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361", kill_on_drop: false }`
[INFO] [stdout] ef752989cfdf12b12d44b93913bf9124ecc8d707657542d8c3b563056368f361
