[INFO] fetching crate remoc 0.10.0... [INFO] checking remoc-0.10.0 against try#8ea250bdb76176ecb0225baa34aa634b024ae0e2 for pr-101692 [INFO] extracting crate remoc 0.10.0 into /workspace/builds/worker-6/source [INFO] validating manifest of crates.io crate remoc 0.10.0 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 remoc 0.10.0 [INFO] finished tweaking crates.io crate remoc 0.10.0 [INFO] tweaked toml for crates.io crate remoc 0.10.0 written to /workspace/builds/worker-6/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] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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] 972e90d60b614c509444e098e84dc37ecfb245db96c795005750bce33b3984a5 [INFO] running `Command { std: "docker" "start" "-a" "972e90d60b614c509444e098e84dc37ecfb245db96c795005750bce33b3984a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "972e90d60b614c509444e098e84dc37ecfb245db96c795005750bce33b3984a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "972e90d60b614c509444e098e84dc37ecfb245db96c795005750bce33b3984a5", kill_on_drop: false }` [INFO] [stdout] 972e90d60b614c509444e098e84dc37ecfb245db96c795005750bce33b3984a5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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] 0b2c84abb743b3cfdaaffc4619aed68074d431d70dc9bda848cf7105f8bd7be5 [INFO] running `Command { std: "docker" "start" "-a" "0b2c84abb743b3cfdaaffc4619aed68074d431d70dc9bda848cf7105f8bd7be5", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.132 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling futures-core v0.3.24 [INFO] [stderr] Checking pin-project-lite v0.2.9 [INFO] [stderr] Checking once_cell v1.14.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking futures-sink v0.3.24 [INFO] [stderr] Compiling futures-task v0.3.24 [INFO] [stderr] Compiling serde_derive v1.0.144 [INFO] [stderr] Compiling futures-channel 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 regex-syntax v0.6.27 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-io v0.3.24 [INFO] [stderr] Compiling serde_json v1.0.85 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Compiling async-trait v0.1.57 [INFO] [stderr] Checking ryu v1.0.11 [INFO] [stderr] Checking itoa v1.0.3 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking tracing-core v0.1.29 [INFO] [stderr] Checking thread_local v1.1.4 [INFO] [stderr] Checking sharded-slab v0.1.4 [INFO] [stderr] Compiling slab v0.4.7 [INFO] [stderr] Compiling tokio v1.21.1 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking regex v1.6.0 [INFO] [stderr] Checking tracing-log v0.1.3 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking num_cpus v1.13.1 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking socket2 v0.4.7 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling tokio-macros v1.8.0 [INFO] [stderr] Compiling futures-macro v0.3.24 [INFO] [stderr] Compiling tracing-attributes v0.1.22 [INFO] [stderr] Compiling async-stream-impl v0.3.3 [INFO] [stderr] Compiling remoc_macro v0.10.0 [INFO] [stderr] Checking async-stream v0.3.3 [INFO] [stderr] Checking tracing v0.1.36 [INFO] [stderr] Checking tracing-subscriber v0.3.15 [INFO] [stderr] Checking tokio-stream v0.1.9 [INFO] [stderr] Checking tokio-util v0.7.4 [INFO] [stderr] Checking futures-executor v0.3.24 [INFO] [stderr] Checking uuid v1.1.2 [INFO] [stderr] Checking tokio-test v0.4.2 [INFO] [stderr] Checking futures v0.3.24 [INFO] [stderr] Checking remoc v0.10.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0391]: cycle detected when type-checking `rch::mpsc::receiver::::serialize` [INFO] [stdout] --> src/rch/mpsc/receiver.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 363 | | where [INFO] [stdout] 364 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::receiver::::serialize`, 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 `rch::mpsc::receiver::::serialize` [INFO] [stdout] --> src/rch/mpsc/receiver.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 363 | | where [INFO] [stdout] 364 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:371:24 [INFO] [stdout] | [INFO] [stdout] 371 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 372 | | // Receiver has been dropped after sending, so we receive its channels. [INFO] [stdout] 373 | | let ReceiverInner { mut rx, closed_tx, remote_send_err_tx, closed: _ } = match successor_rx.await [INFO] [stdout] 374 | | { [INFO] [stdout] ... | [INFO] [stdout] 388 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 389 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::receiver::::serialize`, 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 `rch::mpsc::receiver::::deserialize` [INFO] [stdout] --> src/rch/mpsc/receiver.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 412 | | where [INFO] [stdout] 413 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::receiver::::deserialize`, 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 `rch::mpsc::receiver::::deserialize` [INFO] [stdout] --> src/rch/mpsc/receiver.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 412 | | where [INFO] [stdout] 413 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/receiver.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 428 | | // Accept chmux connection request. [INFO] [stdout] 429 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 430 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 437 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::receiver::::deserialize`, 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 `rch::mpsc::sender::::new` [INFO] [stdout] --> src/rch/mpsc/sender.rs:270:5 [INFO] [stdout] | [INFO] [stdout] 270 | / pub(crate) fn new( [INFO] [stdout] 271 | | tx: tokio::sync::mpsc::Sender>, [INFO] [stdout] 272 | | mut closed_rx: tokio::sync::watch::Receiver>, [INFO] [stdout] 273 | | remote_send_err_rx: tokio::sync::watch::Receiver>, [INFO] [stdout] 274 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::new`, 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 `rch::mpsc::sender::::new` [INFO] [stdout] --> src/rch/mpsc/sender.rs:270:5 [INFO] [stdout] | [INFO] [stdout] 270 | / pub(crate) fn new( [INFO] [stdout] 271 | | tx: tokio::sync::mpsc::Sender>, [INFO] [stdout] 272 | | mut closed_rx: tokio::sync::watch::Receiver>, [INFO] [stdout] 273 | | remote_send_err_rx: tokio::sync::watch::Receiver>, [INFO] [stdout] 274 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::new::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 288 | | loop { [INFO] [stdout] 289 | | tokio::select! { [INFO] [stdout] 290 | | res = closed_rx.changed() => { [INFO] [stdout] ... | [INFO] [stdout] 301 | | drop(tx); [INFO] [stdout] 302 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::new`, 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 `rch::mpsc::sender::::serialize` [INFO] [stdout] --> src/rch/mpsc/sender.rs:481:5 [INFO] [stdout] | [INFO] [stdout] 481 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 482 | | where [INFO] [stdout] 483 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::serialize`, 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 `rch::mpsc::sender::::serialize` [INFO] [stdout] --> src/rch/mpsc/sender.rs:481:5 [INFO] [stdout] | [INFO] [stdout] 481 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 482 | | where [INFO] [stdout] 483 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:493:32 [INFO] [stdout] | [INFO] [stdout] 493 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 494 | | // Establish chmux channel. [INFO] [stdout] 495 | | let (mut raw_tx, raw_rx) = match connect.await { [INFO] [stdout] 496 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 503 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, closed_rx); [INFO] [stdout] 504 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::serialize`, 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 `rch::mpsc::sender::::deserialize` [INFO] [stdout] --> src/rch/mpsc/sender.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 528 | | where [INFO] [stdout] 529 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::deserialize`, 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 `rch::mpsc::sender::::deserialize` [INFO] [stdout] --> src/rch/mpsc/sender.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 528 | | where [INFO] [stdout] 529 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires building MIR for `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] note: ...which requires type-checking `rch::mpsc::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/mpsc/sender.rs:546:32 [INFO] [stdout] | [INFO] [stdout] 546 | async move { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 547 | | // Accept chmux connection request. [INFO] [stdout] 548 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 549 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 556 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx, closed_tx); [INFO] [stdout] 557 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::mpsc::sender::::deserialize`, 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 `rch::watch::receiver::::serialize` [INFO] [stdout] --> src/rch/watch/receiver.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 160 | | where [INFO] [stdout] 161 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::receiver::::serialize`, 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 `rch::watch::receiver::::deserialize` [INFO] [stdout] --> src/rch/watch/receiver.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 198 | | where [INFO] [stdout] 199 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::receiver::::deserialize`, 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 `rch::watch::receiver::::serialize` [INFO] [stdout] --> src/rch/watch/receiver.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 160 | | where [INFO] [stdout] 161 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::receiver::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:168:24 [INFO] [stdout] | [INFO] [stdout] 168 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 169 | | // Establish chmux channel. [INFO] [stdout] 170 | | let (raw_tx, mut raw_rx) = match connect.await { [INFO] [stdout] 171 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 178 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 179 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::receiver::::serialize`, 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 `rch::watch::sender::::serialize` [INFO] [stdout] --> src/rch/watch/sender.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 264 | | where [INFO] [stdout] 265 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::sender::::serialize`, 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 `rch::watch::receiver::::deserialize` [INFO] [stdout] --> src/rch/watch/receiver.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 198 | | where [INFO] [stdout] 199 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::receiver::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/receiver.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 210 | | // Accept chmux connection request. [INFO] [stdout] 211 | | let (mut raw_tx, raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 212 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 220 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 221 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::receiver::::deserialize`, 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 `rch::watch::sender::::deserialize` [INFO] [stdout] --> src/rch/watch/sender.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 310 | | where [INFO] [stdout] 311 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::sender::::deserialize`, 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 `connect_ext::::provide` [INFO] [stdout] --> src/connect_ext.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `connect_ext::::provide`, 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 `rch::watch::sender::::serialize` [INFO] [stdout] --> src/rch/watch/sender.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 264 | | where [INFO] [stdout] 265 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::sender::::serialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:272:24 [INFO] [stdout] | [INFO] [stdout] 272 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 273 | | // Sender has been dropped after sending, so we receive its channels. [INFO] [stdout] 274 | | let SenderInner { tx, remote_send_err_rx, current_err, .. } = match successor_rx.await { [INFO] [stdout] 275 | | Ok(inner) => inner, [INFO] [stdout] ... | [INFO] [stdout] 290 | | recv_impl!(T, tx, raw_tx, raw_rx, remote_send_err_rx, current_err); [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::sender::::serialize`, 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 `connect_ext::::consume` [INFO] [stdout] --> src/connect_ext.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `connect_ext::::consume`, 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 `rch::watch::sender::::deserialize` [INFO] [stdout] --> src/rch/watch/sender.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | / fn deserialize(deserializer: D) -> Result [INFO] [stdout] 310 | | where [INFO] [stdout] 311 | | D: serde::Deserializer<'de>, [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires elaborating drops for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires borrow-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires processing MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires unsafety-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires building MIR for `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] note: ...which requires type-checking `rch::watch::sender::::deserialize::{closure#0}::{closure#0}`... [INFO] [stdout] --> src/rch/watch/sender.rs:326:24 [INFO] [stdout] | [INFO] [stdout] 326 | async move { [INFO] [stdout] | ________________________^ [INFO] [stdout] 327 | | // Accept chmux connection request. [INFO] [stdout] 328 | | let (raw_tx, mut raw_rx) = match request.accept_from(local_port).await { [INFO] [stdout] 329 | | Ok(tx_rx) => tx_rx, [INFO] [stdout] ... | [INFO] [stdout] 336 | | send_impl!(T, rx, raw_tx, raw_rx, remote_send_err_tx); [INFO] [stdout] 337 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = note: ...which again requires type-checking `rch::watch::sender::::deserialize`, 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 `rfn::rfn_const::::provided_int` [INFO] [stdout] --> src/rfn/rfn_const.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / fn provided_int(fun: F) -> (Self, RFnProvider) [INFO] [stdout] 118 | | where [INFO] [stdout] 119 | | F: Fn(A) -> Fut + Send + Sync + 'static, [INFO] [stdout] 120 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_const::::provided_int`, 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 `connect_ext::::provide` [INFO] [stdout] --> src/connect_ext.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `connect_ext::::provide::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:183:108 [INFO] [stdout] | [INFO] [stdout] 183 | async fn provide(self, value: T) -> Result<(), ProvideError> { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 184 | | let (mut conn, mut tx, _) = self.await?; [INFO] [stdout] 185 | | [INFO] [stdout] 186 | | tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 198 | | Ok(()) [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `connect_ext::::provide`, 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 `rfn::rfn_mut::::provided_int` [INFO] [stdout] --> src/rfn/rfn_mut.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | / fn provided_int(mut fun: F) -> (Self, RFnMutProvider) [INFO] [stdout] 114 | | where [INFO] [stdout] 115 | | F: FnMut(A) -> Fut + Send + Sync + 'static, [INFO] [stdout] 116 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_mut::::provided_int`, 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 `connect_ext::::consume` [INFO] [stdout] --> src/connect_ext.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `connect_ext::::consume::{closure#0}`... [INFO] [stdout] --> src/connect_ext.rs:201:97 [INFO] [stdout] | [INFO] [stdout] 201 | async fn consume(self) -> Result> { [INFO] [stdout] | _________________________________________________________________________________________________^ [INFO] [stdout] 202 | | let (mut conn, _, mut rx) = self.await?; [INFO] [stdout] 203 | | [INFO] [stdout] 204 | | let value = tokio::select! { [INFO] [stdout] ... | [INFO] [stdout] 224 | | Ok(value) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `connect_ext::::consume`, 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 `rfn::rfn_once::::provided_int` [INFO] [stdout] --> src/rfn/rfn_once.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / fn provided_int(fun: F) -> (Self, RFnOnceProvider) [INFO] [stdout] 105 | | where [INFO] [stdout] 106 | | F: FnOnce(A) -> Fut + Send + 'static, [INFO] [stdout] 107 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_once::::provided_int`, 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 `rfn::rfn_const::::provided_int` [INFO] [stdout] --> src/rfn/rfn_const.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | / fn provided_int(fun: F) -> (Self, RFnProvider) [INFO] [stdout] 118 | | where [INFO] [stdout] 119 | | F: Fn(A) -> Fut + Send + Sync + 'static, [INFO] [stdout] 120 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_const::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_const.rs:128:33 [INFO] [stdout] | [INFO] [stdout] 128 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 129 | | let term = async move { [INFO] [stdout] 130 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 131 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 157 | | } [INFO] [stdout] 158 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_const::::provided_int`, 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 `robj::handle::::serialize` [INFO] [stdout] --> src/robj/handle.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 365 | | where [INFO] [stdout] 366 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires processing `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires building MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires type-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::handle::::serialize`, 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 `rfn::rfn_mut::::provided_int` [INFO] [stdout] --> src/rfn/rfn_mut.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | / fn provided_int(mut fun: F) -> (Self, RFnMutProvider) [INFO] [stdout] 114 | | where [INFO] [stdout] 115 | | F: FnMut(A) -> Fut + Send + Sync + 'static, [INFO] [stdout] 116 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_mut::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_mut.rs:123:33 [INFO] [stdout] | [INFO] [stdout] 123 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 124 | | let term = async move { [INFO] [stdout] 125 | | if let Ok(()) = keep_rx.await { [INFO] [stdout] 126 | | future::pending().await [INFO] [stdout] ... | [INFO] [stdout] 149 | | } [INFO] [stdout] 150 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_mut::::provided_int`, 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 `robj::lazy::::provided_future` [INFO] [stdout] --> src/robj/lazy.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | / pub fn provided_future(value_fut: F) -> (Self, Provider) [INFO] [stdout] 193 | | where [INFO] [stdout] 194 | | F: Future + Send + 'static, [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::lazy::::provided_future`, 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 `rfn::rfn_once::::provided_int` [INFO] [stdout] --> src/rfn/rfn_once.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / fn provided_int(fun: F) -> (Self, RFnOnceProvider) [INFO] [stdout] 105 | | where [INFO] [stdout] 106 | | F: FnOnce(A) -> Fut + Send + 'static, [INFO] [stdout] 107 | | Fut: Future + Send, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `rfn::rfn_once::::provided_int::{closure#0}`... [INFO] [stdout] --> src/rfn/rfn_once.rs:112:33 [INFO] [stdout] | [INFO] [stdout] 112 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 113 | | tokio::select! { [INFO] [stdout] 114 | | biased; [INFO] [stdout] 115 | | [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `rfn::rfn_once::::provided_int`, 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 `robj::lazy_blob::::provided` [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn provided(data: Bytes) -> (Self, Provider) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::lazy_blob::::provided`, 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 `robj::rw_lock::owner::::new` [INFO] [stdout] --> src/robj/rw_lock/owner.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(mut value: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::rw_lock::owner::::new`, 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 `robj::handle::::serialize` [INFO] [stdout] --> src/robj/handle.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | / fn serialize(&self, serializer: S) -> Result [INFO] [stdout] 365 | | where [INFO] [stdout] 366 | | S: serde::Serializer, [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires processing `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires building MIR for `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] note: ...which requires type-checking `robj::handle::::serialize::{closure#0}`... [INFO] [stdout] --> src/robj/handle.rs:377:41 [INFO] [stdout] | [INFO] [stdout] 377 | tokio::spawn(async move { [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 378 | | loop { [INFO] [stdout] 379 | | if *keep_rx.borrow_and_update() { [INFO] [stdout] 380 | | let _ = dropped_rx.recv().await; [INFO] [stdout] ... | [INFO] [stdout] 394 | | handle_storage.remove(id); [INFO] [stdout] 395 | | }); [INFO] [stdout] | |_________________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::handle::::serialize`, 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 `robj::lazy::::provided_future` [INFO] [stdout] --> src/robj/lazy.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | / pub fn provided_future(value_fut: F) -> (Self, Provider) [INFO] [stdout] 193 | | where [INFO] [stdout] 194 | | F: Future + Send + 'static, [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::lazy::::provided_future::{closure#0}`... [INFO] [stdout] --> src/robj/lazy.rs:201:33 [INFO] [stdout] | [INFO] [stdout] 201 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 202 | | tokio::select! { [INFO] [stdout] 203 | | res = request_rx.recv() => { [INFO] [stdout] 204 | | if let Ok(Some(value_tx)) = res { [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::lazy::::provided_future`, 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 `robs::hash_map::::new_incremental` [INFO] [stdout] --> src/robs/hash_map.rs:771:5 [INFO] [stdout] | [INFO] [stdout] 771 | fn new_incremental(hm: HashMap, on_err: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_map::::new_incremental`, 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 `robs::hash_map::::mirror` [INFO] [stdout] --> src/robs/hash_map.rs:928:5 [INFO] [stdout] | [INFO] [stdout] 928 | pub fn mirror(mut self, max_size: usize) -> MirroredHashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_map::::mirror`, 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 `robj::lazy_blob::::provided` [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn provided(data: Bytes) -> (Self, Provider) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::lazy_blob::::provided::{closure#0}`... [INFO] [stdout] --> src/robj/lazy_blob/mod.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 203 | | let do_send = async move { [INFO] [stdout] 204 | | loop { [INFO] [stdout] 205 | | let fw_tx: fw_bin::Sender = match req_rx.recv().await { [INFO] [stdout] ... | [INFO] [stdout] 224 | | } [INFO] [stdout] 225 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::lazy_blob::::provided`, 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 `robs::hash_set::::mirror` [INFO] [stdout] --> src/robs/hash_set.rs:564:5 [INFO] [stdout] | [INFO] [stdout] 564 | pub fn mirror(mut self, max_size: usize) -> MirroredHashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_set::::mirror`, 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 `robj::rw_lock::owner::::new` [INFO] [stdout] --> src/robj/rw_lock/owner.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(mut value: T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robj::rw_lock::owner::::new::{closure#0}`... [INFO] [stdout] --> src/robj/rw_lock/owner.rs:46:44 [INFO] [stdout] | [INFO] [stdout] 46 | let task = tokio::spawn(async move { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 47 | | tokio::select! { [INFO] [stdout] 48 | | _ = Self::owner_task(&mut value, read_req_rx, write_req_rx) => (), [INFO] [stdout] 49 | | _ = term_rx => (), [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | value [INFO] [stdout] 52 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robj::rw_lock::owner::::new`, 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 `robs::list::::mirror` [INFO] [stdout] --> src/robs/list.rs:607:5 [INFO] [stdout] | [INFO] [stdout] 607 | pub fn mirror(mut self, max_size: usize) -> MirroredList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::list::::mirror`, 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 `robs::hash_map::::new_incremental` [INFO] [stdout] --> src/robs/hash_map.rs:771:5 [INFO] [stdout] | [INFO] [stdout] 771 | fn new_incremental(hm: HashMap, on_err: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_map::::new_incremental::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:775:33 [INFO] [stdout] | [INFO] [stdout] 775 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 776 | | for (k, v) in hm.into_iter() { [INFO] [stdout] 777 | | match tx.send((k, v)).await { [INFO] [stdout] 778 | | Ok(()) => (), [INFO] [stdout] ... | [INFO] [stdout] 785 | | } [INFO] [stdout] 786 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_map::::new_incremental`, 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 `robs::vec::::mirror` [INFO] [stdout] --> src/robs/vec.rs:879:5 [INFO] [stdout] | [INFO] [stdout] 879 | pub fn mirror(mut self, max_size: usize) -> MirroredVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::vec::::mirror`, 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 `robs::hash_map::::mirror` [INFO] [stdout] --> src/robs/hash_map.rs:928:5 [INFO] [stdout] | [INFO] [stdout] 928 | pub fn mirror(mut self, max_size: usize) -> MirroredHashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_map::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_map.rs:945:33 [INFO] [stdout] | [INFO] [stdout] 945 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 946 | | loop { [INFO] [stdout] 947 | | let event = tokio::select! { [INFO] [stdout] 948 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 981 | | } [INFO] [stdout] 982 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_map::::mirror`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 23 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 `remoc` due to 24 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0391]: cycle detected when type-checking `robs::hash_set::::mirror` [INFO] [stdout] --> src/robs/hash_set.rs:564:5 [INFO] [stdout] | [INFO] [stdout] 564 | pub fn mirror(mut self, max_size: usize) -> MirroredHashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::hash_set::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/hash_set.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 582 | | loop { [INFO] [stdout] 583 | | let event = tokio::select! { [INFO] [stdout] 584 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 617 | | } [INFO] [stdout] 618 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::hash_set::::mirror`, 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 `robs::list::::mirror` [INFO] [stdout] --> src/robs/list.rs:607:5 [INFO] [stdout] | [INFO] [stdout] 607 | pub fn mirror(mut self, max_size: usize) -> MirroredList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::list::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/list.rs:622:33 [INFO] [stdout] | [INFO] [stdout] 622 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 623 | | loop { [INFO] [stdout] 624 | | let event = tokio::select! { [INFO] [stdout] 625 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 654 | | } [INFO] [stdout] 655 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::list::::mirror`, 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 `robs::vec::::mirror` [INFO] [stdout] --> src/robs/vec.rs:879:5 [INFO] [stdout] | [INFO] [stdout] 879 | pub fn mirror(mut self, max_size: usize) -> MirroredVec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires elaborating drops for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires borrow-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires processing MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires unsafety-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires building MIR for `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] note: ...which requires type-checking `robs::vec::::mirror::{closure#0}`... [INFO] [stdout] --> src/robs/vec.rs:896:33 [INFO] [stdout] | [INFO] [stdout] 896 | tokio::spawn(async move { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 897 | | loop { [INFO] [stdout] 898 | | let event = tokio::select! { [INFO] [stdout] 899 | | event = self.recv() => event, [INFO] [stdout] ... | [INFO] [stdout] 932 | | } [INFO] [stdout] 933 | | }); [INFO] [stdout] | |_________^ [INFO] [stdout] = note: ...which again requires type-checking `robs::vec::::mirror`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 23 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 `remoc` due to 24 previous errors [INFO] running `Command { std: "docker" "inspect" "0b2c84abb743b3cfdaaffc4619aed68074d431d70dc9bda848cf7105f8bd7be5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b2c84abb743b3cfdaaffc4619aed68074d431d70dc9bda848cf7105f8bd7be5", kill_on_drop: false }` [INFO] [stdout] 0b2c84abb743b3cfdaaffc4619aed68074d431d70dc9bda848cf7105f8bd7be5