[INFO] fetching crate bullrs 0.0.1...
[INFO] testing bullrs-0.0.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate bullrs 0.0.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate bullrs 0.0.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bullrs 0.0.1
[INFO] tweaked toml for crates.io crate bullrs 0.0.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate bullrs 0.0.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate bullrs 0.0.1 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5603b5a92e47e00969eb0deacb05dd67c518dc78d72b3a0acc161a03c505db5b
[INFO] running `Command { std: "docker" "start" "-a" "5603b5a92e47e00969eb0deacb05dd67c518dc78d72b3a0acc161a03c505db5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5603b5a92e47e00969eb0deacb05dd67c518dc78d72b3a0acc161a03c505db5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5603b5a92e47e00969eb0deacb05dd67c518dc78d72b3a0acc161a03c505db5b", kill_on_drop: false }`
[INFO] [stdout] 5603b5a92e47e00969eb0deacb05dd67c518dc78d72b3a0acc161a03c505db5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ecbd0bc67de37d8041782fc18547ce5990016d770e4531a78549425307d56ef
[INFO] running `Command { std: "docker" "start" "-a" "4ecbd0bc67de37d8041782fc18547ce5990016d770e4531a78549425307d56ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling prettyplease v0.2.36
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling nutype_macros v0.6.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling thiserror v2.0.15
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rmp v0.8.14
[INFO] [stderr]    Compiling bullrs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling nanoid v0.4.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling kinded_macros v0.3.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.15
[INFO] [stderr]    Compiling kinded v0.3.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling darling_macro v0.21.2
[INFO] [stderr]    Compiling darling v0.21.2
[INFO] [stderr]    Compiling bon-macros v3.7.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling nutype v0.6.2
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling deadpool v0.12.2
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling rmp-serde v1.3.0
[INFO] [stderr]    Compiling bon v3.7.0
[INFO] [stderr]    Compiling redis v0.31.0
[INFO] [stderr]    Compiling deadpool-redis v0.21.1
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/worker/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Arc, Mutex,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/worker/mod.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 if (self.is_terminating_gracefully()) {
[INFO] [stdout]     |                    ^                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 if (self.is_terminating_gracefully()) {
[INFO] [stdout] 155 +                 if self.is_terminating_gracefully()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `queue_name`, `pool`, and `id` are never read
[INFO] [stdout]   --> src/job/join_handle.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct JobJoinHandle<D, R> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout]  9 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveToActiveReturn` is never constructed
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MoveToActiveReturn<D: DeserializeOwned> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `priority`, `timestamp`, `processed_on`, `delay`, and `stc` are never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ActiveJob<D: DeserializeOwned> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub priority: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     pub processed_on: Option<DateTime<Utc>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 46 |     pub delay: Option<Duration>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub stc: Option<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActiveJob` 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 `0` is never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     ExitCode(i64),
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobDataOrExitCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 -     ExitCode(i64),
[INFO] [stdout] 55 +     ExitCode(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveToFinishedTarget` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum MoveToFinishedTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl MoveToFinishedTarget {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 36 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `job_lock` is never used
[INFO] [stdout]   --> src/queue/name.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl QueueName {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub(crate) fn job_lock(&self, job_id: &str) -> String {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/worker/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Worker<D, R> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 37 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 38 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     semaphore: Arc<Semaphore>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     stalled_after: Arc<RwLock<Duration>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 44 |     max_stalled_before_failed: Arc<RwLock<usize>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_worker_after: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     uid: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn pause(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub async fn resume(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     pub async fn add_with(
[INFO] [stdout] 45 | |         &self,
[INFO] [stdout] 46 | |         job_name: &str,
[INFO] [stdout] 47 | |         data: &D,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     where
[INFO] [stdout] 51 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub async fn add(&self, job_name: &str, data: &D) -> anyhow::Result<String>
[INFO] [stdout] 86 | |     where
[INFO] [stdout] 87 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/queue/getset.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub async fn get_global_concurrency(&mut self) -> anyhow::Result<Option<usize>> {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/queue/name.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct QueueName(Arc<str>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     job_sender.send(Err(WorkerError::PoolClosed));
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         job_sender.send(Err(x.into()));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "4ecbd0bc67de37d8041782fc18547ce5990016d770e4531a78549425307d56ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ecbd0bc67de37d8041782fc18547ce5990016d770e4531a78549425307d56ef", kill_on_drop: false }`
[INFO] [stdout] 4ecbd0bc67de37d8041782fc18547ce5990016d770e4531a78549425307d56ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0240c0e186b8c1a7387dd697a9eca19e3cb1dfca94ac493e25b42887cab1483c
[INFO] running `Command { std: "docker" "start" "-a" "0240c0e186b8c1a7387dd697a9eca19e3cb1dfca94ac493e25b42887cab1483c", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling bullrs v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling test-log-macros v0.2.18
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/worker/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Arc, Mutex,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/worker/mod.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 if (self.is_terminating_gracefully()) {
[INFO] [stdout]     |                    ^                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 if (self.is_terminating_gracefully()) {
[INFO] [stdout] 155 +                 if self.is_terminating_gracefully()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `queue_name`, `pool`, and `id` are never read
[INFO] [stdout]   --> src/job/join_handle.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct JobJoinHandle<D, R> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout]  9 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveToActiveReturn` is never constructed
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MoveToActiveReturn<D: DeserializeOwned> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `priority`, `timestamp`, `processed_on`, `delay`, and `stc` are never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ActiveJob<D: DeserializeOwned> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub priority: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     pub processed_on: Option<DateTime<Utc>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 46 |     pub delay: Option<Duration>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub stc: Option<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActiveJob` 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 `0` is never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     ExitCode(i64),
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobDataOrExitCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 -     ExitCode(i64),
[INFO] [stdout] 55 +     ExitCode(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveToFinishedTarget` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum MoveToFinishedTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl MoveToFinishedTarget {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 36 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `job_lock` is never used
[INFO] [stdout]   --> src/queue/name.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl QueueName {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub(crate) fn job_lock(&self, job_id: &str) -> String {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/worker/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Worker<D, R> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 37 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 38 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     semaphore: Arc<Semaphore>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     stalled_after: Arc<RwLock<Duration>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 44 |     max_stalled_before_failed: Arc<RwLock<usize>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_worker_after: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     uid: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn pause(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub async fn resume(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     pub async fn add_with(
[INFO] [stdout] 45 | |         &self,
[INFO] [stdout] 46 | |         job_name: &str,
[INFO] [stdout] 47 | |         data: &D,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     where
[INFO] [stdout] 51 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub async fn add(&self, job_name: &str, data: &D) -> anyhow::Result<String>
[INFO] [stdout] 86 | |     where
[INFO] [stdout] 87 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/queue/getset.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub async fn get_global_concurrency(&mut self) -> anyhow::Result<Option<usize>> {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/queue/name.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct QueueName(Arc<str>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     job_sender.send(Err(WorkerError::PoolClosed));
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         job_sender.send(Err(x.into()));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling test-log v0.2.18
[INFO] [stdout] warning: unused import: `Queue`
[INFO] [stdout]  --> tests/delay.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bullrs::{JobOptions, Queue, WorkerArgs};
[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: `Config`, `Pool`, and `Runtime`
[INFO] [stdout]  --> tests/delay.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use deadpool_redis::{Config, Pool, Runtime};
[INFO] [stdout]   |                      ^^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nanoid::nanoid`
[INFO] [stdout]  --> tests/delay.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nanoid::nanoid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> tests/delay.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Queue`
[INFO] [stdout]  --> tests/queue_order.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bullrs::{JobOptions, Queue, WorkerArgs};
[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: `Config`, `Pool`, and `Runtime`
[INFO] [stdout]  --> tests/queue_order.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use deadpool_redis::{Config, Pool, Runtime};
[INFO] [stdout]   |                      ^^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nanoid::nanoid`
[INFO] [stdout]  --> tests/queue_order.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use nanoid::nanoid;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> tests/queue_order.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/delay.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     assert_eq!(j.name(), "A");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/delay-05076a1d449b3c1a.long-type-10847269661811198675.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     assert_eq!(j.expect("REASON").name(), "A");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |     assert_eq!(job.name(), "C");
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     assert_eq!(job.expect("REASON").name(), "C");
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |     assert_eq!(j.name(), "A");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     assert_eq!(j.expect("REASON").name(), "A");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/delay.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert_eq!(j.data(), &Input { input: 11 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/delay-05076a1d449b3c1a.long-type-10847269661811198675.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert_eq!(j.expect("REASON").data(), &Input { input: 11 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     assert_eq!(job.data().input, 33);
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     assert_eq!(job.expect("REASON").data().input, 33);
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     assert_eq!(j.data(), &Input { input: 11 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     assert_eq!(j.expect("REASON").data(), &Input { input: 11 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/worker/mod.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Arc, Mutex,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/worker/mod.rs:155:20
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 if (self.is_terminating_gracefully()) {
[INFO] [stdout]     |                    ^                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 if (self.is_terminating_gracefully()) {
[INFO] [stdout] 155 +                 if self.is_terminating_gracefully()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |     assert_eq!(job.name(), "B1");
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     assert_eq!(job.expect("REASON").name(), "B1");
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 24 |     assert_eq!(j.name(), "B");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     assert_eq!(j.expect("REASON").name(), "B");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |     assert_eq!(job.data().input, 20);
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     assert_eq!(job.expect("REASON").data().input, 20);
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |     assert_eq!(j.data(), &Input { input: 22 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     assert_eq!(j.expect("REASON").data(), &Input { input: 22 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert_eq!(job.name(), "B2");
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     assert_eq!(job.expect("REASON").name(), "B2");
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert_eq!(j.name(), "C");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     assert_eq!(j.expect("REASON").name(), "C");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert_eq!(j.data(), &Input { input: 33 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     assert_eq!(j.expect("REASON").data(), &Input { input: 33 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     assert_eq!(job.data().input, 21);
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     assert_eq!(job.expect("REASON").data().input, 21);
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     assert_eq!(j.name(), "D");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     assert_eq!(j.expect("REASON").name(), "D");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |     assert_eq!(j.data(), &Input { input: 44 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 58 |     assert_eq!(j.expect("REASON").data(), &Input { input: 44 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bullrs` (test "delay") due to 2 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |     assert_eq!(j.name(), "C");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     assert_eq!(j.expect("REASON").name(), "C");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     assert_eq!(j.data(), &Input { input: 33 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     assert_eq!(j.expect("REASON").data(), &Input { input: 33 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_eq!(j.name(), "A");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_eq!(j.expect("REASON").name(), "A");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |     assert_eq!(job.name(), "A");
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     assert_eq!(job.expect("REASON").name(), "A");
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |     assert_eq!(j.data(), &Input { input: 11 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     assert_eq!(j.expect("REASON").data(), &Input { input: 11 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `name` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_eq!(j.name(), "B");
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `name` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_eq!(j.expect("REASON").name(), "B");
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/queue_order.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |     assert_eq!(j.data(), &Input { input: 22 });
[INFO] [stdout]    |                  ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/queue_order-a260fa3e288a9b66.long-type-485522372378871770.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     assert_eq!(j.expect("REASON").data(), &Input { input: 22 });
[INFO] [stdout]    |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for enum `Result<T, E>` in the current scope
[INFO] [stdout]   --> tests/priority.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 |     assert_eq!(job.data().input, 11);
[INFO] [stdout]    |                    ^^^^ method not found in `Result<JobWorkHandle<Input, Output>, WorkerError>`
[INFO] [stdout]    |
[INFO] [stdout] note: the method `data` exists on the type `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/job/work_handle.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn data(&self) -> &D {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/priority-2622ac93432cb9f7.long-type-6448614009430670400.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `bullrs::job::work_handle::JobWorkHandle<setup::Input, setup::Output>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     assert_eq!(job.expect("REASON").data().input, 11);
[INFO] [stdout]    |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bullrs` (test "queue_order") due to 14 previous errors; 4 warnings emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bullrs` (test "priority") due to 8 previous errors
[INFO] [stdout] warning: fields `queue_name`, `pool`, and `id` are never read
[INFO] [stdout]   --> src/job/join_handle.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct JobJoinHandle<D, R> {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout]  9 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveToActiveReturn` is never constructed
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MoveToActiveReturn<D: DeserializeOwned> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `priority`, `timestamp`, `processed_on`, `delay`, and `stc` are never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ActiveJob<D: DeserializeOwned> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub priority: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     pub processed_on: Option<DateTime<Utc>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 46 |     pub delay: Option<Duration>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub stc: Option<usize>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActiveJob` 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 `0` is never read
[INFO] [stdout]   --> src/luacommands/move_to_active.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |     ExitCode(i64),
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobDataOrExitCode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 -     ExitCode(i64),
[INFO] [stdout] 55 +     ExitCode(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveToFinishedTarget` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum MoveToFinishedTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/luacommands/move_to_finished.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl MoveToFinishedTarget {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 36 |     fn as_str(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `job_lock` is never used
[INFO] [stdout]   --> src/queue/name.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl QueueName {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub(crate) fn job_lock(&self, job_id: &str) -> String {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/worker/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Worker<D, R> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 37 |     pool: Pool,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 38 |     queue_name: QueueName,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     semaphore: Arc<Semaphore>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     stalled_after: Arc<RwLock<Duration>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 44 |     max_stalled_before_failed: Arc<RwLock<usize>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_worker_after: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     uid: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub async fn pause(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub async fn resume(&self) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | /     pub async fn add_with(
[INFO] [stdout] 45 | |         &self,
[INFO] [stdout] 46 | |         job_name: &str,
[INFO] [stdout] 47 | |         data: &D,
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |     where
[INFO] [stdout] 51 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/queue/basics.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | /     pub async fn add(&self, job_name: &str, data: &D) -> anyhow::Result<String>
[INFO] [stdout] 86 | |     where
[INFO] [stdout] 87 | |         D: Serialize,
[INFO] [stdout]    | |_____________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]  --> src/queue/getset.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub async fn get_global_concurrency(&mut self) -> anyhow::Result<Option<usize>> {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/queue/name.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct QueueName(Arc<str>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     job_sender.send(Err(WorkerError::PoolClosed));
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]   --> src/worker/pull_job.rs:64:25
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         job_sender.send(Err(x.into()));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0240c0e186b8c1a7387dd697a9eca19e3cb1dfca94ac493e25b42887cab1483c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0240c0e186b8c1a7387dd697a9eca19e3cb1dfca94ac493e25b42887cab1483c", kill_on_drop: false }`
[INFO] [stdout] 0240c0e186b8c1a7387dd697a9eca19e3cb1dfca94ac493e25b42887cab1483c
