[INFO] fetching crate apalis-redis 0.3.3... [INFO] checking apalis-redis-0.3.3 against try#8ea250bdb76176ecb0225baa34aa634b024ae0e2 for pr-101692 [INFO] extracting crate apalis-redis 0.3.3 into /workspace/builds/worker-7/source [INFO] validating manifest of crates.io crate apalis-redis 0.3.3 on toolchain 8ea250bdb76176ecb0225baa34aa634b024ae0e2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate apalis-redis 0.3.3 [INFO] finished tweaking crates.io crate apalis-redis 0.3.3 [INFO] tweaked toml for crates.io crate apalis-redis 0.3.3 written to /workspace/builds/worker-7/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9a8cd9d7430de5c8c5595bf43959d231ad57e262419b323fce87acb4c393dc0 [INFO] running `Command { std: "docker" "start" "-a" "d9a8cd9d7430de5c8c5595bf43959d231ad57e262419b323fce87acb4c393dc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9a8cd9d7430de5c8c5595bf43959d231ad57e262419b323fce87acb4c393dc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9a8cd9d7430de5c8c5595bf43959d231ad57e262419b323fce87acb4c393dc0", kill_on_drop: false }` [INFO] [stdout] d9a8cd9d7430de5c8c5595bf43959d231ad57e262419b323fce87acb4c393dc0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d3464dd0c165ba5af2e3b44c6f6fa4d3c6b099ba5a7ee2bb9f7e751ecc49214 [INFO] running `Command { std: "docker" "start" "-a" "2d3464dd0c165ba5af2e3b44c6f6fa4d3c6b099ba5a7ee2bb9f7e751ecc49214", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.43 [INFO] [stderr] Compiling quote v1.0.21 [INFO] [stderr] Compiling unicode-ident v1.0.4 [INFO] [stderr] Compiling syn v1.0.99 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking pin-project-lite v0.2.9 [INFO] [stderr] Checking futures-sink v0.3.24 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling futures-channel v0.3.24 [INFO] [stderr] Checking once_cell v1.14.0 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling futures-task v0.3.24 [INFO] [stderr] Compiling serde v1.0.144 [INFO] [stderr] Checking bytes v1.2.1 [INFO] [stderr] Compiling futures-util v0.3.24 [INFO] [stderr] Checking futures-io v0.3.24 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling rustversion v1.0.9 [INFO] [stderr] Compiling async-trait v0.1.57 [INFO] [stderr] Checking itoa v1.0.3 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking percent-encoding v2.2.0 [INFO] [stderr] Checking unicode-bidi v0.3.8 [INFO] [stderr] Compiling thiserror v1.0.35 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking iana-time-zone v0.1.48 [INFO] [stderr] Checking sha1_smol v1.0.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking tracing-core v0.1.29 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Compiling slab v0.4.7 [INFO] [stderr] Compiling tokio v1.21.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking form_urlencoded v1.1.0 [INFO] [stderr] Checking http v0.2.8 [INFO] [stderr] Checking sha1 v0.6.1 [INFO] [stderr] Checking tracing v0.1.36 [INFO] [stderr] Checking socket2 v0.4.7 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking unicode-normalization v0.1.21 [INFO] [stderr] Checking idna v0.3.0 [INFO] [stderr] Checking url v2.3.1 [INFO] [stderr] Checking tokio-util v0.7.4 [INFO] [stderr] Checking combine v4.6.6 [INFO] [stderr] Compiling futures-macro v0.3.24 [INFO] [stderr] Compiling thiserror-impl v1.0.35 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling async-stream-impl v0.3.3 [INFO] [stderr] Checking async-stream v0.3.3 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking futures-executor v0.3.24 [INFO] [stderr] Checking redis v0.21.6 [INFO] [stderr] Checking futures v0.3.24 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking chrono v0.4.22 [INFO] [stderr] Checking apalis-core v0.3.3 [INFO] [stderr] Checking apalis-redis v0.3.3 (/opt/rustwide/workdir) [INFO] [stdout] error[E0391]: cycle detected when type-checking `storage::::fetch_by_id` [INFO] [stdout] --> src/storage.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `storage::::fetch_by_id`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `storage::::fetch_by_id` [INFO] [stdout] --> src/storage.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `storage::::fetch_by_id::{closure#0}`... [INFO] [stdout] --> src/storage.rs:326:100 [INFO] [stdout] | [INFO] [stdout] 326 | async fn fetch_by_id(&self, job_id: String) -> StorageResult>> { [INFO] [stdout] | ____________________________________________________________________________________________________^ [INFO] [stdout] 327 | | let mut conn = self.conn.clone(); [INFO] [stdout] 328 | | let data: Option = redis::cmd("HMGET") [INFO] [stdout] 329 | | .arg(&self.queue.job_data_hash.to_string()) [INFO] [stdout] ... | [INFO] [stdout] 334 | | Ok(deserialize_job(data.as_ref())) [INFO] [stdout] 335 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `storage::::fetch_by_id`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `storage::::list_jobs` [INFO] [stdout] --> src/storage.rs:546:5 [INFO] [stdout] | [INFO] [stdout] 546 | async fn list_jobs( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `storage::::list_jobs`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0391`. [INFO] [stdout] [INFO] [stderr] error: could not compile `apalis-redis` due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0391]: cycle detected when type-checking `storage::::list_jobs` [INFO] [stdout] --> src/storage.rs:546:5 [INFO] [stdout] | [INFO] [stdout] 546 | async fn list_jobs( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `storage::::list_jobs::{closure#0}`... [INFO] [stdout] --> src/storage.rs:550:47 [INFO] [stdout] | [INFO] [stdout] 550 | ) -> Result>, JobError> { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 551 | | match status { [INFO] [stdout] 552 | | JobState::Pending => { [INFO] [stdout] 553 | | let mut conn = self.conn.clone(); [INFO] [stdout] ... | [INFO] [stdout] 682 | | } [INFO] [stdout] 683 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `storage::::list_jobs`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0391`. [INFO] [stdout] [INFO] [stderr] error: could not compile `apalis-redis` due to 3 previous errors [INFO] running `Command { std: "docker" "inspect" "2d3464dd0c165ba5af2e3b44c6f6fa4d3c6b099ba5a7ee2bb9f7e751ecc49214", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d3464dd0c165ba5af2e3b44c6f6fa4d3c6b099ba5a7ee2bb9f7e751ecc49214", kill_on_drop: false }` [INFO] [stdout] 2d3464dd0c165ba5af2e3b44c6f6fa4d3c6b099ba5a7ee2bb9f7e751ecc49214