[INFO] cloning repository https://github.com/miangraham/rust-ferrite-nix-starter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/miangraham/rust-ferrite-nix-starter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiangraham%2Frust-ferrite-nix-starter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiangraham%2Frust-ferrite-nix-starter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4479cda485e6701d4bfd5f4f9ab76b34898c83f7 [INFO] checking miangraham/rust-ferrite-nix-starter against try#8ea250bdb76176ecb0225baa34aa634b024ae0e2 for pr-101692 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmiangraham%2Frust-ferrite-nix-starter" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/miangraham/rust-ferrite-nix-starter 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 git repo https://github.com/miangraham/rust-ferrite-nix-starter [INFO] finished tweaking git repo https://github.com/miangraham/rust-ferrite-nix-starter [INFO] tweaked toml for git repo https://github.com/miangraham/rust-ferrite-nix-starter written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/miangraham/rust-ferrite-nix-starter already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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] 50321fc4b5459d8a72099721cdb0160b37eb81202a41d556ca774f2c63e63ec3 [INFO] running `Command { std: "docker" "start" "-a" "50321fc4b5459d8a72099721cdb0160b37eb81202a41d556ca774f2c63e63ec3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "50321fc4b5459d8a72099721cdb0160b37eb81202a41d556ca774f2c63e63ec3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "50321fc4b5459d8a72099721cdb0160b37eb81202a41d556ca774f2c63e63ec3", kill_on_drop: false }` [INFO] [stdout] 50321fc4b5459d8a72099721cdb0160b37eb81202a41d556ca774f2c63e63ec3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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] 83deb739637784819794978edf7bdbdcfea276f78535a7321f61c235d4c2d2db [INFO] running `Command { std: "docker" "start" "-a" "83deb739637784819794978edf7bdbdcfea276f78535a7321f61c235d4c2d2db", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.96 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling futures-core v0.3.15 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking slab v0.4.3 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling futures-channel v0.3.15 [INFO] [stderr] Compiling futures-task v0.3.15 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking futures-sink v0.3.15 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking futures-io v0.3.15 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Compiling futures-macro v0.3.15 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling futures-util v0.3.15 [INFO] [stderr] Compiling tokio v1.6.1 [INFO] [stderr] Checking lock_api v0.4.4 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking async-macros v2.0.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking mio v0.7.11 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking pretty_env_logger v0.4.0 [INFO] [stderr] Compiling tokio-macros v1.2.0 [INFO] [stderr] Checking futures-executor v0.3.15 [INFO] [stderr] Checking futures v0.3.15 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ipc-channel v0.15.0 [INFO] [stderr] Checking ferrite-session v0.1.3 [INFO] [stdout] error[E0391]: cycle detected when type-checking `internal::base::channel::::forward_from` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:313:3 [INFO] [stdout] | [INFO] [stdout] 313 | / fn forward_from( [INFO] [stdout] 314 | | sender1: OpaqueSender, [INFO] [stdout] 315 | | receiver1: OpaqueReceiver, [INFO] [stdout] 316 | | ) -> Self [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `internal::base::channel::::forward_from::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:320:28 [INFO] [stdout] | [INFO] [stdout] 320 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 321 | | let payload: T = receiver2.recv().await.unwrap(); [INFO] [stdout] 322 | | [INFO] [stdout] 323 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 327 | | }); [INFO] [stdout] 328 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `internal::base::channel::::forward_from`, 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 `internal::base::channel::::forward_to` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:338:3 [INFO] [stdout] | [INFO] [stdout] 338 | / fn forward_to( [INFO] [stdout] 339 | | self, [INFO] [stdout] 340 | | sender1: OpaqueSender, [INFO] [stdout] 341 | | receiver1: OpaqueReceiver, [INFO] [stdout] 342 | | ) [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `internal::base::channel::::forward_to::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/channel.rs:344:28 [INFO] [stdout] | [INFO] [stdout] 344 | task::spawn(async move { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 345 | | let channel = self.recv().await.unwrap(); [INFO] [stdout] 346 | | [INFO] [stdout] 347 | | task::spawn_blocking(move || { [INFO] [stdout] ... | [INFO] [stdout] 351 | | }); [INFO] [stdout] 352 | | }); [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `internal::base::channel::::forward_to`, 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 `internal::base::shared::serialize_shared_channel` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 | / fn serialize_shared_channel( [INFO] [stdout] 159 | | channel: SharedChannel [INFO] [stdout] 160 | | ) -> SerializedSharedChannel [INFO] [stdout] 161 | | where [INFO] [stdout] 162 | | S: SharedProtocol + ForwardChannel, [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::base::shared::serialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:172:26 [INFO] [stdout] | [INFO] [stdout] 172 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 173 | | loop { [INFO] [stdout] 174 | | let receiver1 = receiver1.clone(); [INFO] [stdout] 175 | | [INFO] [stdout] ... | [INFO] [stdout] 210 | | } [INFO] [stdout] 211 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::base::shared::serialize_shared_channel`, 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 `internal::base::shared::deserialize_shared_channel` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:222:1 [INFO] [stdout] | [INFO] [stdout] 222 | / fn deserialize_shared_channel( [INFO] [stdout] 223 | | channel: SerializedSharedChannel [INFO] [stdout] 224 | | ) -> SharedChannel [INFO] [stdout] 225 | | where [INFO] [stdout] 226 | | S: SharedProtocol + ForwardChannel + Send, [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::base::shared::deserialize_shared_channel::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/base/shared.rs:230:26 [INFO] [stdout] | [INFO] [stdout] 230 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 231 | | loop { [INFO] [stdout] 232 | | match receiver1.recv().await { [INFO] [stdout] 233 | | Some((sender2, sender3)) => { [INFO] [stdout] ... | [INFO] [stdout] 258 | | } [INFO] [stdout] 259 | | }); [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::base::shared::deserialize_shared_channel`, 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 `internal::session::channel::receive::receive_channel_slot` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | / pub fn receive_channel_slot( [INFO] [stdout] 45 | | _: N, [INFO] [stdout] 46 | | cont: PartialSession, [INFO] [stdout] 47 | | ) -> PartialSession> [INFO] [stdout] ... | [INFO] [stdout] 51 | | I: Context, [INFO] [stdout] 52 | | N: ContextLens, [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::channel::receive::receive_channel_slot::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | unsafe_create_session(move |ctx1, sender| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 55 | | let ((), ctx2) = N::extract_source(ctx1); [INFO] [stdout] 56 | | [INFO] [stdout] 57 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 72 | | let _ = join!(child1, child2).await; [INFO] [stdout] 73 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::channel::receive::receive_channel_slot`, 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 `internal::session::channel::receive::send_channel_to` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | / pub fn send_channel_to( [INFO] [stdout] 77 | | _: N1, [INFO] [stdout] 78 | | _: N2, [INFO] [stdout] 79 | | cont: PartialSession, [INFO] [stdout] ... | [INFO] [stdout] 86 | | N2: ContextLens, [INFO] [stdout] 87 | | N1: ContextLens, A2>, [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::channel::receive::send_channel_to::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/receive.rs:89:57 [INFO] [stdout] | [INFO] [stdout] 89 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 90 | | let (receiver1, ctx2) = N2::extract_source(ctx1); [INFO] [stdout] 91 | | [INFO] [stdout] 92 | | let ctx3 = N2::insert_target((), ctx2); [INFO] [stdout] ... | [INFO] [stdout] 110 | | let _ = join!(child1, child2).await; [INFO] [stdout] 111 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::channel::receive::send_channel_to`, 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 `internal::session::channel::send::send_channel_from` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub fn send_channel_from( [INFO] [stdout] 21 | | _: N, [INFO] [stdout] 22 | | cont: PartialSession, [INFO] [stdout] 23 | | ) -> PartialSession> [INFO] [stdout] ... | [INFO] [stdout] 27 | | C: Context, [INFO] [stdout] 28 | | N: ContextLens, [INFO] [stdout] | |______________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::channel::send::send_channel_from::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:30:57 [INFO] [stdout] | [INFO] [stdout] 30 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 31 | | let (p_chan, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 53 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 54 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::channel::send::send_channel_from`, 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 `internal::session::channel::send::fork` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | / pub fn fork( [INFO] [stdout] 100 | | cont1: PartialSession, [INFO] [stdout] 101 | | cont2: PartialSession, [INFO] [stdout] 102 | | ) -> PartialSession<>::Appended, SendChannel> [INFO] [stdout] ... | [INFO] [stdout] 111 | | CP: 'static, [INFO] [stdout] 112 | | CQ: 'static, [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::channel::send::fork::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/channel/send.rs:114:55 [INFO] [stdout] | [INFO] [stdout] 114 | unsafe_create_session(move |ctx, sender| async move { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 115 | | let (ctx1, ctx2) = CP::split_context(ctx); [INFO] [stdout] 116 | | [INFO] [stdout] 117 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 139 | | let _ = join!(child1, child2, child3).await; [INFO] [stdout] 140 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::channel::send::fork`, 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 `internal::session::choice::internal::offer_case::offer_case` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub fn offer_case( [INFO] [stdout] 23 | | _: N, [INFO] [stdout] 24 | | cont: PartialSession, [INFO] [stdout] 25 | | ) -> PartialSession> [INFO] [stdout] ... | [INFO] [stdout] 29 | | Row: SumApp, [INFO] [stdout] 30 | | N: Prism, [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::choice::internal::offer_case::offer_case::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/choice/internal/offer_case.rs:32:56 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 33 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 34 | | [INFO] [stdout] 35 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 47 | | let _ = join!(child1, child2).await; [INFO] [stdout] 48 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::choice::internal::offer_case::offer_case`, 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 `internal::session::cut::cut` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:184:1 [INFO] [stdout] | [INFO] [stdout] 184 | / pub fn cut( [INFO] [stdout] 185 | | cont1: PartialSession, [INFO] [stdout] 186 | | cont2: Func, [INFO] [stdout] 187 | | ) -> PartialSession [INFO] [stdout] ... | [INFO] [stdout] 195 | | C2: AppendContext<(A, ())>, [INFO] [stdout] 196 | | Func: FnOnce(C2::Length) -> PartialSession, [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::cut::cut::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:200:56 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 201 | | let (ctx1, ctx2) = X::split_endpoints(ctx); [INFO] [stdout] 202 | | [INFO] [stdout] 203 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 215 | | let _ = join!(child1, child2).await; [INFO] [stdout] 216 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::cut::cut`, 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 `internal::session::cut::cut_append` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:227:1 [INFO] [stdout] | [INFO] [stdout] 227 | / pub fn cut_append( [INFO] [stdout] 228 | | cont1: PartialSession, [INFO] [stdout] 229 | | cont2: PartialSession, [INFO] [stdout] 230 | | ) -> PartialSession [INFO] [stdout] ... | [INFO] [stdout] 238 | | C1: AppendContext<(A, ()), Appended = C3>, [INFO] [stdout] 239 | | C1: AppendContext, [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::cut::cut_append::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/cut.rs:241:58 [INFO] [stdout] | [INFO] [stdout] 241 | unsafe_create_session(move |ctx1, b_sender| async move { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 242 | | let (ctx2, ctx3) = >::split_context(ctx1); [INFO] [stdout] 243 | | [INFO] [stdout] 244 | | let (a_sender, a_receiver) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 257 | | let _ = join!(child1, child2).await; [INFO] [stdout] 258 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::cut::cut_append`, 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 `internal::session::fix::fix_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / pub fn fix_session( [INFO] [stdout] 7 | | cont: PartialSession [INFO] [stdout] 8 | | ) -> PartialSession> [INFO] [stdout] 9 | | where [INFO] [stdout] ... | [INFO] [stdout] 13 | | A: Protocol, [INFO] [stdout] 14 | | F: RecApp<(RecX, R), Applied = A>, [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::fix::fix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:16:56 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 17 | | let (sender2, receiver): (SenderOnce, _) = once_channel(); [INFO] [stdout] 18 | | [INFO] [stdout] 19 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 27 | | let _ = join!(child1, child2).await; [INFO] [stdout] 28 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::fix::fix_session`, 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 `internal::session::fix::unfix_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / pub fn unfix_session( [INFO] [stdout] 32 | | _: N, [INFO] [stdout] 33 | | cont: PartialSession, [INFO] [stdout] 34 | | ) -> PartialSession [INFO] [stdout] ... | [INFO] [stdout] 41 | | A: Protocol, [INFO] [stdout] 42 | | N: ContextLens, A>, [INFO] [stdout] | |___________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::fix::unfix_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/fix.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 45 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 46 | | [INFO] [stdout] 47 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 59 | | let _ = join!(child1, child2).await; [INFO] [stdout] 60 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::fix::unfix_session`, 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 `internal::session::shared::accept_shared_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub fn accept_shared_session( [INFO] [stdout] 19 | | cont: impl FnOnce() -> PartialSession<(Lock, ()), F::Applied> + Send + 'static [INFO] [stdout] 20 | | ) -> SharedSession> [INFO] [stdout] 21 | | where [INFO] [stdout] 22 | | F: Protocol, [INFO] [stdout] 23 | | F: SharedRecApp>, [INFO] [stdout] 24 | | F::Applied: Protocol, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `internal::session::shared::accept_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | )>| async move { [INFO] [stdout] | ____________________^ [INFO] [stdout] 31 | | let cont2 = cont(); [INFO] [stdout] 32 | | [INFO] [stdout] 33 | | let (sender2, receiver2): (SenderOnce>, _) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] 76 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::shared::accept_shared_session`, 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 `internal::session::shared::detach_shared_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | / pub fn detach_shared_session( [INFO] [stdout] 81 | | cont: SharedSession> [INFO] [stdout] 82 | | ) -> PartialSession<(Lock, C), SharedToLinear> [INFO] [stdout] 83 | | where [INFO] [stdout] ... | [INFO] [stdout] 86 | | F::Applied: Protocol, [INFO] [stdout] 87 | | C: EmptyContext, [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `internal::session::shared::detach_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:90:86 [INFO] [stdout] | [INFO] [stdout] 90 | move |(receiver1, _): (ReceiverOnce>, C::Endpoints), sender1| async move { [INFO] [stdout] | ______________________________________________________________________________________^ [INFO] [stdout] 91 | | let (sender3, receiver3) = once_channel::<()>(); [INFO] [stdout] 92 | | [INFO] [stdout] 93 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 120 | | let _ = join!(child1, child2).await; [INFO] [stdout] 121 | | }, [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::shared::detach_shared_session`, 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 `internal::session::shared::async_acquire_shared_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:125:1 [INFO] [stdout] | [INFO] [stdout] 125 | / pub fn async_acquire_shared_session( [INFO] [stdout] 126 | | shared: SharedChannel>, [INFO] [stdout] 127 | | cont_builder: impl FnOnce(Z) -> PartialSession<(F::Applied, ()), End> [INFO] [stdout] 128 | | + Send [INFO] [stdout] ... | [INFO] [stdout] 133 | | F: SharedRecApp>, [INFO] [stdout] 134 | | F::Applied: Protocol, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::shared::async_acquire_shared_session::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 141 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 142 | | [INFO] [stdout] 143 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 169 | | let _ = join!(child1, child2, child3, child4).await; [INFO] [stdout] 170 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::shared::async_acquire_shared_session`, 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 `internal::session::shared::async_acquire_shared_session_with_result` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:173:1 [INFO] [stdout] | [INFO] [stdout] 173 | / pub fn async_acquire_shared_session_with_result( [INFO] [stdout] 174 | | shared: SharedChannel>, [INFO] [stdout] 175 | | cont_builder: impl FnOnce(Z) -> PartialSession<(F::Applied, ()), SendValue> [INFO] [stdout] 176 | | + Send [INFO] [stdout] ... | [INFO] [stdout] 182 | | F: SharedRecApp>, [INFO] [stdout] 183 | | F::Applied: Protocol, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::shared::async_acquire_shared_session_with_result::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | task::spawn(async move { [INFO] [stdout] | __________________________^ [INFO] [stdout] 190 | | let (sender1, receiver1) = once_channel(); [INFO] [stdout] 191 | | [INFO] [stdout] 192 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 226 | | val.unwrap() [INFO] [stdout] 227 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::shared::async_acquire_shared_session_with_result`, 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 `internal::session::shared::acquire_shared_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:230:1 [INFO] [stdout] | [INFO] [stdout] 230 | / pub fn acquire_shared_session( [INFO] [stdout] 231 | | shared: SharedChannel>, [INFO] [stdout] 232 | | cont1: impl FnOnce(C::Length) -> PartialSession + Send + 'static, [INFO] [stdout] 233 | | ) -> PartialSession [INFO] [stdout] ... | [INFO] [stdout] 239 | | C: AppendContext<(F::Applied, ())>, [INFO] [stdout] 240 | | F::Applied: Protocol, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::shared::acquire_shared_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/shared.rs:242:57 [INFO] [stdout] | [INFO] [stdout] 242 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 243 | | let cont2 = cont1(::nat()); [INFO] [stdout] 244 | | [INFO] [stdout] 245 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 269 | | // debug!("[acquire_shared_session] ran cont"); [INFO] [stdout] 270 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::shared::acquire_shared_session`, 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 `internal::session::value::send::send_value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub fn send_value( [INFO] [stdout] 19 | | val: T, [INFO] [stdout] 20 | | cont: PartialSession, [INFO] [stdout] 21 | | ) -> PartialSession> [INFO] [stdout] ... | [INFO] [stdout] 24 | | A: Protocol, [INFO] [stdout] 25 | | C: Context, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::value::send::send_value::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/value/send.rs:27:56 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 28 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] 29 | | [INFO] [stdout] 30 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 38 | | let _ = join!(child1, child2).await; [INFO] [stdout] 39 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::value::send::send_value`, 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 `internal::session::wrap::wrap_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / pub fn wrap_session( [INFO] [stdout] 10 | | cont: PartialSession [INFO] [stdout] 11 | | ) -> PartialSession> [INFO] [stdout] 12 | | where [INFO] [stdout] ... | [INFO] [stdout] 15 | | T: Send + 'static, [INFO] [stdout] 16 | | T::Unwrap: Protocol, [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::wrap::wrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:18:56 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe_create_session(move |ctx, sender1| async move { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 19 | | let (sender2, receiver) = once_channel(); [INFO] [stdout] 20 | | [INFO] [stdout] 21 | | let child1 = task::spawn(async move { [INFO] [stdout] ... | [INFO] [stdout] 33 | | let _ = join!(child1, child2).await; [INFO] [stdout] 34 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::wrap::wrap_session`, 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 `internal::session::wrap::unwrap_session` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / pub fn unwrap_session( [INFO] [stdout] 38 | | _: N, [INFO] [stdout] 39 | | cont: PartialSession, [INFO] [stdout] 40 | | ) -> PartialSession [INFO] [stdout] ... | [INFO] [stdout] 44 | | T: Wrapper + Send + 'static, [INFO] [stdout] 45 | | N: ContextLens, T::Unwrap>, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires elaborating drops for `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires borrow-checking `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires processing MIR for `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires unsafety-checking `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires building MIR for `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] note: ...which requires type-checking `internal::session::wrap::unwrap_session::{closure#0}::{closure#0}`... [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/ferrite-session-0.1.3/src/internal/session/wrap.rs:47:57 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe_create_session(move |ctx1, sender1| async move { [INFO] [stdout] | _________________________________________________________^ [INFO] [stdout] 48 | | let (receiver1, ctx2) = N::extract_source(ctx1); [INFO] [stdout] 49 | | [INFO] [stdout] 50 | | let (sender2, receiver2) = once_channel(); [INFO] [stdout] ... | [INFO] [stdout] 62 | | let _ = join!(child1, child2).await; [INFO] [stdout] 63 | | }) [INFO] [stdout] | |___^ [INFO] [stdout] = note: ...which again requires type-checking `internal::session::wrap::unwrap_session`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 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 `ferrite-session` due to 22 previous errors [INFO] running `Command { std: "docker" "inspect" "83deb739637784819794978edf7bdbdcfea276f78535a7321f61c235d4c2d2db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "83deb739637784819794978edf7bdbdcfea276f78535a7321f61c235d4c2d2db", kill_on_drop: false }` [INFO] [stdout] 83deb739637784819794978edf7bdbdcfea276f78535a7321f61c235d4c2d2db