[INFO] fetching crate par 0.3.10...
[INFO] testing par-0.3.10 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate par 0.3.10 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate par 0.3.10
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate par 0.3.10
[INFO] tweaked toml for crates.io crate par 0.3.10 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate par 0.3.10 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate par 0.3.10 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utf-8 v0.7.6
[INFO] [stderr]   Downloaded thiserror-impl v1.0.64
[INFO] [stderr]   Downloaded proc-macro2 v1.0.86
[INFO] [stderr]   Downloaded quote v1.0.37
[INFO] [stderr]   Downloaded unicode-ident v1.0.13
[INFO] [stderr]   Downloaded tungstenite v0.24.0
[INFO] [stderr]   Downloaded parking_lot v0.12.3
[INFO] [stderr]   Downloaded addr2line v0.24.2
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.35
[INFO] [stderr]   Downloaded futures-io v0.3.31
[INFO] [stderr]   Downloaded futures-sink v0.3.31
[INFO] [stderr]   Downloaded rand_chacha v0.3.1
[INFO] [stderr]   Downloaded windows-targets v0.52.6
[INFO] [stderr]   Downloaded itoa v1.0.11
[INFO] [stderr]   Downloaded pin-utils v0.1.0
[INFO] [stderr]   Downloaded digest v0.10.7
[INFO] [stderr]   Downloaded fastrand v2.1.1
[INFO] [stderr]   Downloaded futures-core v0.3.31
[INFO] [stderr]   Downloaded futures-executor v0.3.31
[INFO] [stderr]   Downloaded lock_api v0.4.12
[INFO] [stderr]   Downloaded miniz_oxide v0.8.0
[INFO] [stderr]   Downloaded bytes v1.7.2
[INFO] [stderr]   Downloaded http v1.1.0
[INFO] [stderr]   Downloaded zerocopy v0.7.35
[INFO] [stderr]   Downloaded futures-channel v0.3.31
[INFO] [stderr]   Downloaded socket2 v0.5.7
[INFO] [stderr]   Downloaded redox_syscall v0.5.7
[INFO] [stderr]   Downloaded object v0.36.5
[INFO] [stderr]   Downloaded gimli v0.31.1
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.6
[INFO] [stderr]   Downloaded futures v0.3.31
[INFO] [stderr]   Downloaded futures-task v0.3.31
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.6
[INFO] [stderr]   Downloaded smallvec v1.13.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.6
[INFO] [stderr]   Downloaded cpufeatures v0.2.14
[INFO] [stderr]   Downloaded pin-project-lite v0.2.14
[INFO] [stderr]   Downloaded data-encoding v2.6.0
[INFO] [stderr]   Downloaded futures-util v0.3.31
[INFO] [stderr]   Downloaded mio v1.0.2
[INFO] [stderr]   Downloaded libc v0.2.159
[INFO] [stderr]   Downloaded sha1 v0.10.6
[INFO] [stderr]   Downloaded getrandom v0.2.15
[INFO] [stderr]   Downloaded version_check v0.9.5
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.6
[INFO] [stderr]   Downloaded bitflags v2.6.0
[INFO] [stderr]   Downloaded fnv v1.0.7
[INFO] [stderr]   Downloaded generic-array v0.14.7
[INFO] [stderr]   Downloaded memchr v2.7.4
[INFO] [stderr]   Downloaded windows-sys v0.52.0
[INFO] [stderr]   Downloaded typenum v1.17.0
[INFO] [stderr]   Downloaded crypto-common v0.1.6
[INFO] [stderr]   Downloaded parking_lot_core v0.9.10
[INFO] [stderr]   Downloaded tokio-macros v2.4.0
[INFO] [stderr]   Downloaded futures-macro v0.3.31
[INFO] [stderr]   Downloaded slab v0.4.9
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.6
[INFO] [stderr]   Downloaded rustc-demangle v0.1.24
[INFO] [stderr]   Downloaded scopeguard v1.2.0
[INFO] [stderr]   Downloaded hermit-abi v0.3.9
[INFO] [stderr]   Downloaded adler2 v2.0.0
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.20
[INFO] [stderr]   Downloaded block-buffer v0.10.4
[INFO] [stderr]   Downloaded rand_core v0.6.4
[INFO] [stderr]   Downloaded cfg-if v1.0.0
[INFO] [stderr]   Downloaded backtrace v0.3.74
[INFO] [stderr]   Downloaded autocfg v1.4.0
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.6
[INFO] [stderr]   Downloaded httparse v1.9.5
[INFO] [stderr]   Downloaded byteorder v1.5.0
[INFO] [stderr]   Downloaded wasi v0.11.0+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded syn v2.0.79
[INFO] [stderr]   Downloaded log v0.4.22
[INFO] [stderr]   Downloaded thiserror v1.0.64
[INFO] [stderr]   Downloaded tokio-tungstenite v0.24.0
[INFO] [stderr]   Downloaded tokio v1.40.0
[INFO] [stderr]   Downloaded rand v0.8.5
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.6
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d4f3dcedf89f921e730236e971ca39e37a9145806a1e568bc3c96fb09dce35a0
[INFO] running `Command { std: "docker" "start" "-a" "d4f3dcedf89f921e730236e971ca39e37a9145806a1e568bc3c96fb09dce35a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4f3dcedf89f921e730236e971ca39e37a9145806a1e568bc3c96fb09dce35a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4f3dcedf89f921e730236e971ca39e37a9145806a1e568bc3c96fb09dce35a0", kill_on_drop: false }`
[INFO] [stdout] d4f3dcedf89f921e730236e971ca39e37a9145806a1e568bc3c96fb09dce35a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b811310f5fc45472530c94d86f4a6629cf8ea2582302537184038e31a0191187
[INFO] running `Command { std: "docker" "start" "-a" "b811310f5fc45472530c94d86f4a6629cf8ea2582302537184038e31a0191187", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling thiserror v1.0.64
[INFO] [stderr]    Compiling bytes v1.7.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling cpufeatures v0.2.14
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling data-encoding v2.6.0
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling fastrand v2.1.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling http v1.1.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.64
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tokio v1.40.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling par v0.3.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.07s
[INFO] running `Command { std: "docker" "inspect" "b811310f5fc45472530c94d86f4a6629cf8ea2582302537184038e31a0191187", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b811310f5fc45472530c94d86f4a6629cf8ea2582302537184038e31a0191187", kill_on_drop: false }`
[INFO] [stdout] b811310f5fc45472530c94d86f4a6629cf8ea2582302537184038e31a0191187
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca4347c26d121e4fa97ddc3e0efcd3b5a56766097ae250d765ae766938ff1ebc
[INFO] running `Command { std: "docker" "start" "-a" "ca4347c26d121e4fa97ddc3e0efcd3b5a56766097ae250d765ae766938ff1ebc", kill_on_drop: false }`
[INFO] [stderr]    Compiling par v0.3.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.11s
[INFO] running `Command { std: "docker" "inspect" "ca4347c26d121e4fa97ddc3e0efcd3b5a56766097ae250d765ae766938ff1ebc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca4347c26d121e4fa97ddc3e0efcd3b5a56766097ae250d765ae766938ff1ebc", kill_on_drop: false }`
[INFO] [stdout] ca4347c26d121e4fa97ddc3e0efcd3b5a56766097ae250d765ae766938ff1ebc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] bdc7950cb616594da82403add772fe281ca3cda3177884f902807baa2c6eb1e0
[INFO] running `Command { std: "docker" "start" "-a" "bdc7950cb616594da82403add772fe281ca3cda3177884f902807baa2c6eb1e0", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/par-24d22ab4ac1b43d9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests par
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test src/exchange.rs - exchange::Send<T,()>::choose (line 191) ... FAILED
[INFO] [stdout] test src/exchange.rs - exchange::Send (line 47) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 103) ... FAILED
[INFO] [stdout] test src/exchange.rs - exchange::Send (line 55) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 335) ... FAILED
[INFO] [stdout] test src/exchange.rs - exchange::Send<S,()>::handle (line 204) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 322) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 408) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 136) ... ok
[INFO] [stdout] test src/lib.rs - (line 354) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 375) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 381) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 269) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 126) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 279) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 294) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 344) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 425) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 312) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 155) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 569) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 727) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 590) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 653) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 369) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 464) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 236) ... ok
[INFO] [stdout] test src/lib.rs - (line 475) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 794) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 70) ... ok
[INFO] [stdout] test src/lib.rs - (line 743) ... FAILED
[INFO] [stdout] test src/queue.rs - queue (line 12) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 91) ... FAILED
[INFO] [stdout] test src/server.rs - server (line 25) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 452) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 703) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 615) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 637) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 483) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 517) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 813) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/exchange.rs - exchange::Send<T,()>::choose (line 191) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/exchange.rs:192:28
[INFO] [stdout]     |
[INFO] [stdout] 192 | let branching: Send<Result<Recv<i64>, ()>>;
[INFO] [stdout]     |                            ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 191 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/exchange.rs:192:16
[INFO] [stdout]     |
[INFO] [stdout] 192 | let branching: Send<Result<Recv<i64>, ()>>;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/exchange.rs - exchange::Send (line 47) stdout ----
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/exchange.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 | let sequence: Send<i64, Send<i64>>;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 103) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 | let sender: Send<i64> = fork(|receiver: Recv<i64>| async {
[INFO] [stdout]     |                                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 102 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 | let sender: Send<i64> = fork(|receiver: Recv<i64>| async {
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/exchange.rs - exchange::Send (line 55) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]   --> src/exchange.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | let branching: Send<Result<Recv<i64>, ()>>;
[INFO] [stdout]    |                            ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 55 + use par::exchange::Recv;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/exchange.rs:56:16
[INFO] [stdout]    |
[INFO] [stdout] 56 | let branching: Send<Result<Recv<i64>, ()>>;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 335) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:336:1
[INFO] [stdout]     |
[INFO] [stdout] 336 | atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:336:35
[INFO] [stdout]     |
[INFO] [stdout] 336 | atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     |                                   ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 335 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:336:46
[INFO] [stdout]     |
[INFO] [stdout] 336 | atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     |                                              ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 335 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:336:51
[INFO] [stdout]     |
[INFO] [stdout] 336 | atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     |                                                   ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 335 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_335_0<Amount>() {
[INFO] [stdout]     |                                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let Amount(funds) = atm.recv1().await;
[INFO] [stdout]     |         ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `number` in this scope
[INFO] [stdout]    --> src/lib.rs:338:27
[INFO] [stdout]     |
[INFO] [stdout] 338 |     println!("{} has {}", number, funds);
[INFO] [stdout]     |                           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:336:11
[INFO] [stdout]     |
[INFO] [stdout] 336 | atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     |           ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 336 - atm.send1(Operation::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout] 336 + atm.send1(Option::CheckBalance(fork(|atm: Recv<Amount>| async move {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0531.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/exchange.rs - exchange::Send<S,()>::handle (line 204) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/exchange.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 | let needs_session: Send<Recv<i64>>;
[INFO] [stdout]     |                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 204 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/exchange.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 | let needs_session: Send<Recv<i64>>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 322) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | atm.choose(Operation::CheckBalance) // -> Recv<Amount>
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:324:14
[INFO] [stdout]     |
[INFO] [stdout] 322 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_322_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 323 | atm.choose(Operation::CheckBalance) // -> Recv<Amount>
[INFO] [stdout] 324 |     .recv1().await;
[INFO] [stdout]     |              ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 323 | atm.choose(Operation::CheckBalance) // -> Recv<Amount>
[INFO] [stdout]     |            ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 323 - atm.choose(Operation::CheckBalance) // -> Recv<Amount>
[INFO] [stdout] 323 + atm.choose(Option::CheckBalance) // -> Recv<Amount>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 408) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Client` in this scope
[INFO] [stdout]    --> src/lib.rs:409:37
[INFO] [stdout]     |
[INFO] [stdout] 409 | fn check_balance(number: String) -> Client { /* ... */ }
[INFO] [stdout]     |                                     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn withdraw(number: String, Amount(requested): Amount) -> Client { /* ... */ }
[INFO] [stdout]     |                             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:410:48
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn withdraw(number: String, Amount(requested): Amount) -> Client { /* ... */ }
[INFO] [stdout]     |                                                ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Client` in this scope
[INFO] [stdout]    --> src/lib.rs:410:59
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn withdraw(number: String, Amount(requested): Amount) -> Client { /* ... */ }
[INFO] [stdout]     |                                                           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0531.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 354) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 355 | let atm = <Recv<Amount>>::fork_sync(|client: Send<Amount>| {
[INFO] [stdout]     |            ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 354 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:355:17
[INFO] [stdout]     |
[INFO] [stdout] 355 | let atm = <Recv<Amount>>::fork_sync(|client: Send<Amount>| {
[INFO] [stdout]     |                 ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 354 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_354_0<Amount>() {
[INFO] [stdout]     |                                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:355:51
[INFO] [stdout]     |
[INFO] [stdout] 355 | let atm = <Recv<Amount>>::fork_sync(|client: Send<Amount>| {
[INFO] [stdout]     |                                                   ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 354 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_354_0<Amount>() {
[INFO] [stdout]     |                                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 356 |     atm.send1(Operation::CheckBalance(client))
[INFO] [stdout]     |     ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | let Amount(funds) = atm.recv1().await;
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `number` in this scope
[INFO] [stdout]    --> src/lib.rs:359:23
[INFO] [stdout]     |
[INFO] [stdout] 359 | println!("{} has {}", number, funds);
[INFO] [stdout]     |                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:358:33
[INFO] [stdout]     |
[INFO] [stdout] 354 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_354_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 358 | let Amount(funds) = atm.recv1().await;
[INFO] [stdout]     |                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:355:46
[INFO] [stdout]     |
[INFO] [stdout] 355 | let atm = <Recv<Amount>>::fork_sync(|client: Send<Amount>| {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 355 | let atm = <Recv<Amount>>::fork_sync(|client: dyn Send<Amount>| {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:356:15
[INFO] [stdout]     |
[INFO] [stdout] 356 |     atm.send1(Operation::CheckBalance(client))
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 356 -     atm.send1(Operation::CheckBalance(client))
[INFO] [stdout] 356 +     atm.send1(Option::CheckBalance(client))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0531, E0728, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 375) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `session` in this scope
[INFO] [stdout]    --> src/lib.rs:376:15
[INFO] [stdout]     |
[INFO] [stdout] 376 | let session = session.choose(Enum::Variant);
[INFO] [stdout]     |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Enum`
[INFO] [stdout]    --> src/lib.rs:376:30
[INFO] [stdout]     |
[INFO] [stdout] 376 | let session = session.choose(Enum::Variant);
[INFO] [stdout]     |                              ^^^^ use of undeclared type `Enum`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 381) stdout ----
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn withdraw(number: String, Amount(requested): Amount) -> Client {
[INFO] [stdout]     |                             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:382:48
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn withdraw(number: String, Amount(requested): Amount) -> Client {
[INFO] [stdout]     |                                                ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Client` in this scope
[INFO] [stdout]    --> src/lib.rs:382:59
[INFO] [stdout]     |
[INFO] [stdout] 382 | fn withdraw(number: String, Amount(requested): Amount) -> Client {
[INFO] [stdout]     |                                                           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fork(|atm: ATM| async move {
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 381 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ATM` in this scope
[INFO] [stdout]    --> src/lib.rs:383:16
[INFO] [stdout]     |
[INFO] [stdout] 383 |     fork(|atm: ATM| async move {
[INFO] [stdout]     |                ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:393:16
[INFO] [stdout]     |
[INFO] [stdout] 393 |             Ok(Money(withdrawn)) => println!("{} withdrawn from {}", withdrawn, number),
[INFO] [stdout]     |                ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Account` in this scope
[INFO] [stdout]    --> src/lib.rs:384:32
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let Ok(atm) = atm.send(Account(number.clone())).recv1().await else {
[INFO] [stdout]     |                                ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, _>`
[INFO] [stdout]    --> src/lib.rs:384:13
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let Ok(atm) = atm.send(Account(number.clone())).recv1().await else {
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |         let response = atm
[INFO] [stdout]     |                        --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let Ok(atm): Result<T, E> = atm.send(Account(number.clone())).recv1().await else {
[INFO] [stdout]     |                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |             .choose(Operation::Withdraw)
[INFO] [stdout]     |                     ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 388 -             .choose(Operation::Withdraw)
[INFO] [stdout] 388 +             .choose(Option::Withdraw)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:389:19
[INFO] [stdout]     |
[INFO] [stdout] 389 |             .send(Amount(requested))
[INFO] [stdout]     |                   ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0531.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 269) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:273:26
[INFO] [stdout]     |
[INFO] [stdout] 273 | type ATM = Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout]     |                          ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 269 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Operation` in this scope
[INFO] [stdout]    --> src/lib.rs:273:43
[INFO] [stdout]     |
[INFO] [stdout] 273 | type ATM = Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout]     |                                           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/option.rs:600:0
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named enum `Option` defined here
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 273 - type ATM = Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout] 273 + type ATM = Send<Account, Recv<Result<Send<Option>, InvalidAccount>>>;
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 273 | type ATM<Operation> = Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout]     |         +++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | type ATM = Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 273 | type ATM = dyn Send<Account, Recv<Result<Send<Operation>, InvalidAccount>>>;
[INFO] [stdout]     |            +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 126) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `Session` in this scope
[INFO] [stdout]    --> src/lib.rs:127:23
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct Recv<T, S: Session = ()> { /* private fields */ }
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 126 + use par::Session;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Session` in this scope
[INFO] [stdout]    --> src/lib.rs:128:23
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Send<T, S: Session = ()> { /* private fields */ }
[INFO] [stdout]     |                       ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 126 + use par::Session;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 279) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `ATM` in this scope
[INFO] [stdout]    --> src/lib.rs:283:20
[INFO] [stdout]     |
[INFO] [stdout] 283 | type Client = Dual<ATM>;
[INFO] [stdout]     |                    ^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 283 | type Client<ATM> = Dual<ATM>;
[INFO] [stdout]     |            +++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 294) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Client` in this scope
[INFO] [stdout]    --> src/lib.rs:298:37
[INFO] [stdout]     |
[INFO] [stdout] 298 | fn check_balance(number: String) -> Client {
[INFO] [stdout]     |                                     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ATM` in this scope
[INFO] [stdout]    --> src/lib.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fork(|atm: ATM| async move {
[INFO] [stdout]     |                ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Account` in this scope
[INFO] [stdout]    --> src/lib.rs:300:28
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let atm = atm.send(Account(number.clone()));
[INFO] [stdout]     |                            ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, _>`
[INFO] [stdout]    --> src/lib.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let Ok(atm) = atm.recv1().await else {
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |         let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |                             --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let Ok(atm): Result<T, E> = atm.recv1().await else {
[INFO] [stdout]     |                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:304:40
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |                                        ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 304 -         let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout] 304 +         let Amount(funds) = atm.choose(Option::CheckBalance).recv1().await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0531.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 344) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:345:10
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: Send<Amount>| async move {
[INFO] [stdout]     |          ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 344 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:345:15
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: Send<Amount>| async move {
[INFO] [stdout]     |               ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_344_0<Amount>() {
[INFO] [stdout]     |                                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:345:25
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: Send<Amount>| async move {
[INFO] [stdout]     |                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 344 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:345:44
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: Send<Amount>| async move {
[INFO] [stdout]     |                                            ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_344_0<Amount>() {
[INFO] [stdout]     |                                                                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     atm.send1(Operation::CheckBalance(client));
[INFO] [stdout]     |     ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 | let Amount(funds) = atm.recv1().await;
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `number` in this scope
[INFO] [stdout]    --> src/lib.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 | println!("{} has {}", number, funds);
[INFO] [stdout]     |                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:348:33
[INFO] [stdout]     |
[INFO] [stdout] 344 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_344_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 348 | let Amount(funds) = atm.recv1().await;
[INFO] [stdout]     |                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:345:39
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: Send<Amount>| async move {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 345 | let atm: Recv<Amount> = fork(|client: dyn Send<Amount>| async move {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:346:15
[INFO] [stdout]     |
[INFO] [stdout] 346 |     atm.send1(Operation::CheckBalance(client));
[INFO] [stdout]     |               ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 346 -     atm.send1(Operation::CheckBalance(client));
[INFO] [stdout] 346 +     atm.send1(Option::CheckBalance(client));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0531, E0728, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 425) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:429:43
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn boot_atm(accounts: Arc<HashMap<String, Money>>) -> ATM {
[INFO] [stdout]     |                                           ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn boot_atm<Money>(accounts: Arc<HashMap<String, Money>>) -> ATM {
[INFO] [stdout]     |            +++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ATM` in this scope
[INFO] [stdout]    --> src/lib.rs:429:55
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn boot_atm(accounts: Arc<HashMap<String, Money>>) -> ATM {
[INFO] [stdout]     |                                                       ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:430:5
[INFO] [stdout]     |
[INFO] [stdout] 430 |     fork(|client: Client| async move {
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 425 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Client` in this scope
[INFO] [stdout]    --> src/lib.rs:430:19
[INFO] [stdout]     |
[INFO] [stdout] 430 |     fork(|client: Client| async move {
[INFO] [stdout]     |                   ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Account` in this scope
[INFO] [stdout]    --> src/lib.rs:431:14
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let (Account(number), client) = client.recv().await;
[INFO] [stdout]     |              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `InvalidAccount` in this scope
[INFO] [stdout]    --> src/lib.rs:433:37
[INFO] [stdout]     |
[INFO] [stdout] 433 |             return client.send1(Err(InvalidAccount));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 |         let Some(&Money(funds)) = accounts.get(&number) else {
[INFO] [stdout]     |                   ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:438:22
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 let (Amount(requested), client) = client.recv().await;
[INFO] [stdout]     |                      ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `InsufficientFunds` in this scope
[INFO] [stdout]    --> src/lib.rs:442:38
[INFO] [stdout]     |
[INFO] [stdout] 442 |                     client.send1(Err(InsufficientFunds));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let (Account(number), client) = client.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 432 |         let Some(&Money(funds)) = accounts.get(&number) else {
[INFO] [stdout] 433 |             return client.send1(Err(InvalidAccount));
[INFO] [stdout]     |                    ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let (Account(number), client): (_, _) = client.recv().await;
[INFO] [stdout]     |                                      ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:436:61
[INFO] [stdout]     |
[INFO] [stdout] 436 |             Operation::CheckBalance(client) => client.send1(Amount(funds)),
[INFO] [stdout]     |                                                             ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:438:21
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 let (Amount(requested), client) = client.recv().await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 439 |                 if funds >= requested {
[INFO] [stdout] 440 |                     client.send1(Ok(Money(requested)));
[INFO] [stdout]     |                     ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 let (Amount(requested), client): (_, _) = client.recv().await;
[INFO] [stdout]     |                                                ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:440:37
[INFO] [stdout]     |
[INFO] [stdout] 440 |                     client.send1(Ok(Money(requested)));
[INFO] [stdout]     |                                     ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:436:13
[INFO] [stdout]     |
[INFO] [stdout] 436 |             Operation::CheckBalance(client) => client.send1(Amount(funds)),
[INFO] [stdout]     |             ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 436 -             Operation::CheckBalance(client) => client.send1(Amount(funds)),
[INFO] [stdout] 436 +             Option::CheckBalance(client) => client.send1(Amount(funds)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:437:13
[INFO] [stdout]     |
[INFO] [stdout] 437 |             Operation::Withdraw(client) => {
[INFO] [stdout]     |             ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 437 -             Operation::Withdraw(client) => {
[INFO] [stdout] 437 +             Option::Withdraw(client) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433, E0531.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 312) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:313:21
[INFO] [stdout]     |
[INFO] [stdout] 313 | let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |                     ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0531]: cannot find tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |     ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:313:65
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_312_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 313 | let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |                                                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Operation`
[INFO] [stdout]    --> src/lib.rs:313:32
[INFO] [stdout]     |
[INFO] [stdout] 313 | let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout]     |                                ^^^^^^^^^ use of undeclared type `Operation`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 313 - let Amount(funds) = atm.choose(Operation::CheckBalance).recv1().await;
[INFO] [stdout] 313 + let Amount(funds) = atm.choose(Option::CheckBalance).recv1().await;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0531, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 155) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Calculator` in this scope
[INFO] [stdout]    --> src/lib.rs:159:18
[INFO] [stdout]     |
[INFO] [stdout] 159 | type User = Dual<Calculator>;  // Recv<i64, Recv<Op, Recv<i64, Send<i64>>>>
[INFO] [stdout]     |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 159 | type User<Calculator> = Dual<Calculator>;  // Recv<i64, Recv<Op, Recv<i64, Send<i64>>>>
[INFO] [stdout]     |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Calculator` in this scope
[INFO] [stdout]    --> src/lib.rs:161:26
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn start_calculator() -> Calculator {
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Op`
[INFO] [stdout]    --> src/lib.rs:177:15
[INFO] [stdout]     |
[INFO] [stdout] 177 |         .send(Op::Plus)
[INFO] [stdout]     |               ^^ use of undeclared type `Op`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Op`
[INFO] [stdout]    --> src/lib.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |         .send(Op::Times)
[INFO] [stdout]     |               ^^ use of undeclared type `Op`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let (x, user) = user.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 164 |         let (op, user) = user.recv().await;
[INFO] [stdout]     |                          ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let (x, user): (_, _) = user.recv().await;
[INFO] [stdout]     |                      ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let (op, user) = user.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 165 |         let (y, user) = user.recv().await;
[INFO] [stdout]     |                         ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let (op, user): (_, _) = user.recv().await;
[INFO] [stdout]     |                       ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let (y, user) = user.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |         user.send1(result);
[INFO] [stdout]     |         ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let (y, user): (_, _) = user.recv().await;
[INFO] [stdout]     |                      ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Op`
[INFO] [stdout]    --> src/lib.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             Op::Plus => x + y,
[INFO] [stdout]     |             ^^ use of undeclared type `Op`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Op`
[INFO] [stdout]    --> src/lib.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             Op::Times => x * y,
[INFO] [stdout]     |             ^^ use of undeclared type `Op`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 569) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:571:10
[INFO] [stdout]     |
[INFO] [stdout] 571 |     More(Recv<i64, Recv<Counting>>),
[INFO] [stdout]     |          ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 569 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:571:20
[INFO] [stdout]     |
[INFO] [stdout] 571 |     More(Recv<i64, Recv<Counting>>),
[INFO] [stdout]     |                    ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 569 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:572:10
[INFO] [stdout]     |
[INFO] [stdout] 572 |     Done(Send<i64>),
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 570 ~ enum Counting<T: Send<i64>> {
[INFO] [stdout] 571 |     More(Recv<i64, Recv<Counting>>),
[INFO] [stdout] 572 ~     Done(T),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 727) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Player` in this scope
[INFO] [stdout]    --> src/lib.rs:735:19
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |                   ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game<Player> = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |          ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Player` in this scope
[INFO] [stdout]    --> src/lib.rs:735:27
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |                           ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game<Player> = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |          ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Player` in this scope
[INFO] [stdout]    --> src/lib.rs:735:35
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |                                   ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game<Player> = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |          ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:735:44
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |                                            ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 727 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:735:13
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 735 | type Game = dyn Send<(Player, Player, Player), Recv<Winner>>;
[INFO] [stdout]     |             +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 590) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Counting` in this scope
[INFO] [stdout]    --> src/lib.rs:591:29
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting() -> Send<Counting> {
[INFO] [stdout]     |                             ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting<Counting>() -> Send<Counting> {
[INFO] [stdout]     |                  ++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:592:5
[INFO] [stdout]     |
[INFO] [stdout] 592 |     fork(|mut numbers: Recv<Counting>| async {
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 590 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:592:24
[INFO] [stdout]     |
[INFO] [stdout] 592 |     fork(|mut numbers: Recv<Counting>| async {
[INFO] [stdout]     |                        ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 590 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Counting` in this scope
[INFO] [stdout]    --> src/lib.rs:592:29
[INFO] [stdout]     |
[INFO] [stdout] 592 |     fork(|mut numbers: Recv<Counting>| async {
[INFO] [stdout]     |                             ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting<Counting>() -> Send<Counting> {
[INFO] [stdout]     |                  ++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:591:24
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting() -> Send<Counting> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `impl Send<Counting>` to return an opaque type, as long as you return a single underlying type
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting() -> impl Send<Counting> {
[INFO] [stdout]     |                        ++++
[INFO] [stdout] help: alternatively, you can return an owned trait object
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn start_counting() -> Box<dyn Send<Counting>> {
[INFO] [stdout]     |                        +++++++               +
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:596:17
[INFO] [stdout]     |
[INFO] [stdout] 596 |                 Counting::More(number) => {
[INFO] [stdout]     |                 ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:601:17
[INFO] [stdout]     |
[INFO] [stdout] 601 |                 Counting::Done(report) => break report.send1(total),
[INFO] [stdout]     |                 ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 653) stdout ----
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:662:6
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_653_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 662 |     .await;
[INFO] [stdout]     |      ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `start_counting_with_queue` in this scope
[INFO] [stdout]    --> src/lib.rs:654:11
[INFO] [stdout]     |
[INFO] [stdout] 654 | let sum = start_counting_with_queue()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 369) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Session`
[INFO] [stdout]    --> src/lib.rs:370:15
[INFO] [stdout]     |
[INFO] [stdout] 370 | let session = Session::fork_sync(|dual| session.send1(Enum::Variant(dual)));
[INFO] [stdout]     |               ^^^^^^^ use of undeclared type `Session`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 369 + use par::Session;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `session` in this scope
[INFO] [stdout]    --> src/lib.rs:370:41
[INFO] [stdout]     |
[INFO] [stdout] 370 | let session = Session::fork_sync(|dual| session.send1(Enum::Variant(dual)));
[INFO] [stdout]     |                                         ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Enum`
[INFO] [stdout]    --> src/lib.rs:370:55
[INFO] [stdout]     |
[INFO] [stdout] 370 | let session = Session::fork_sync(|dual| session.send1(Enum::Variant(dual)));
[INFO] [stdout]     |                                                       ^^^^ use of undeclared type `Enum`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 464) stdout ----
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:465:44
[INFO] [stdout]     |
[INFO] [stdout] 465 | let client = withdraw("Cyril".to_string(), Amount(2500));
[INFO] [stdout]     |                                            ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `withdraw` in this scope
[INFO] [stdout]    --> src/lib.rs:465:14
[INFO] [stdout]     |
[INFO] [stdout] 465 | let client = withdraw("Cyril".to_string(), Amount(2500));
[INFO] [stdout]     |              ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 475) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `atm` in this scope
[INFO] [stdout]    --> src/lib.rs:479:1
[INFO] [stdout]     |
[INFO] [stdout] 479 | atm.link(client);
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout]    --> src/lib.rs:479:10
[INFO] [stdout]     |
[INFO] [stdout] 479 | atm.link(client);
[INFO] [stdout]     |          ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 794) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `game` in this scope
[INFO] [stdout]    --> src/lib.rs:795:57
[INFO] [stdout]     |
[INFO] [stdout] 795 | let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |                                                         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:795:69
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_794_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] 795 | let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |                                                                     ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 743) stdout ----
[INFO] [stdout] error[E0432]: unresolved imports `Move`, `Outcome`, `Winner`
[INFO] [stdout]    --> src/lib.rs:745:10
[INFO] [stdout]     |
[INFO] [stdout] 745 |     use {Move::*, Outcome::*, Winner::*};
[INFO] [stdout]     |          ^^^^     ^^^^^^^     ^^^^^^ use of undeclared type `Winner`
[INFO] [stdout]     |          |        |
[INFO] [stdout]     |          |        use of undeclared type `Outcome`
[INFO] [stdout]     |          use of undeclared type `Move`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `((_, _, _), _)`
[INFO] [stdout]    --> src/lib.rs:748:13
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 751 |             let (move1, outcome1) = player1.recv().await;
[INFO] [stdout]     |                                     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner): ((_, _, _), _) = game.recv().await;
[INFO] [stdout]     |                                                              ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(({type error}, _, _), _)`
[INFO] [stdout]    --> src/lib.rs:748:13
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 752 |             let (move2, outcome2) = player2.recv().await;
[INFO] [stdout]     |                                     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner): ((_, _, _), _) = game.recv().await;
[INFO] [stdout]     |                                                              ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(({type error}, {type error}, _), _)`
[INFO] [stdout]    --> src/lib.rs:748:13
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 753 |             let (move3, outcome3) = player3.recv().await;
[INFO] [stdout]     |                                     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner): ((_, _, _), _) = game.recv().await;
[INFO] [stdout]     |                                                              ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:751:17
[INFO] [stdout]     |
[INFO] [stdout] 751 |             let (move1, outcome1) = player1.recv().await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 761 |                     outcome1.send1(Win);
[INFO] [stdout]     |                     -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 751 |             let (move1, outcome1): (_, _) = player1.recv().await;
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:752:17
[INFO] [stdout]     |
[INFO] [stdout] 752 |             let (move2, outcome2) = player2.recv().await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |                     outcome2.send1(Loss);
[INFO] [stdout]     |                     -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 752 |             let (move2, outcome2): (_, _) = player2.recv().await;
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:753:17
[INFO] [stdout]     |
[INFO] [stdout] 753 |             let (move3, outcome3) = player3.recv().await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 763 |                     outcome3.send1(Loss);
[INFO] [stdout]     |                     -------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 753 |             let (move3, outcome3): (_, _) = player3.recv().await;
[INFO] [stdout]     |                                  ++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(({type error}, {type error}, {type error}), _)`
[INFO] [stdout]    --> src/lib.rs:748:13
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner) = game.recv().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 764 |                     break winner.send1(First);
[INFO] [stdout]     |                           ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let ((mut player1, mut player2, mut player3), winner): (_, _) = game.recv().await;
[INFO] [stdout]     |                                                              ++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/queue.rs - queue (line 12) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `Session` in this scope
[INFO] [stdout]   --> src/queue.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum Queue<T, S: Session> {
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 12 + use par::Session;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]   --> src/queue.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Dequeue<T, S> = Recv<Queue<T, S>>;
[INFO] [stdout]    |                      ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 12 + use par::exchange::Recv;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Dual` in this scope
[INFO] [stdout]   --> src/queue.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Enqueue<T, S> = Send<Queue<T, Dual<S>>>;
[INFO] [stdout]    |                                    ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]    |
[INFO] [stdout] 12 + use par::Dual;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/queue.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Enqueue<T, S> = Send<Queue<T, Dual<S>>>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Enqueue<T, S> = dyn Send<Queue<T, Dual<S>>>;
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 91) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]   --> src/lib.rs:92:52
[INFO] [stdout]    |
[INFO] [stdout] 92 | let sender: Send<i64> = Send::fork_sync(|receiver: Recv<i64>| {
[INFO] [stdout]    |                                                    ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 91 + use par::exchange::Recv;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/lib.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 | let sender: Send<i64> = Send::fork_sync(|receiver: Recv<i64>| {
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]   --> src/lib.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 | let sender: Send<i64> = Send::fork_sync(|receiver: Recv<i64>| {
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]    |
[INFO] [stdout] 92 | let sender: Send<i64> = <dyn Send>::fork_sync(|receiver: Recv<i64>| {
[INFO] [stdout]    |                         ++++     +
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/server.rs - server (line 25) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Proxy` in this scope
[INFO] [stdout]   --> src/server.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | let proxy1: Proxy<Connect>;
[INFO] [stdout]    |             ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 25 + use par::server::Proxy;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Connect` in this scope
[INFO] [stdout]   --> src/server.rs:26:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | let proxy1: Proxy<Connect>;
[INFO] [stdout]    |                   ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: there is an enum variant `par::server::Event::Connect`; try using the variant's enum
[INFO] [stdout]    |
[INFO] [stdout] 26 - let proxy1: Proxy<Connect>;
[INFO] [stdout] 26 + let proxy1: Proxy<par::server::Event>;
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_server_rs_25_0<Connect>() {
[INFO] [stdout]    |                                                                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 452) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:453:16
[INFO] [stdout]     |
[INFO] [stdout] 453 | let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 452 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]    --> src/lib.rs:453:25
[INFO] [stdout]     |
[INFO] [stdout] 453 | let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                         ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 452 + use std::collections::HashMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:459:20
[INFO] [stdout]     |
[INFO] [stdout] 459 | let atm = boot_atm(Arc::clone(&accounts));
[INFO] [stdout]     |                    ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 452 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:454:27
[INFO] [stdout]     |
[INFO] [stdout] 454 |     ("Alice".to_string(), Money(1000)),
[INFO] [stdout]     |                           ^^^^^ not found in this scope
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:455:25
[INFO] [stdout]     |
[INFO] [stdout] 455 |     ("Bob".to_string(), Money(700)),
[INFO] [stdout]     |                         ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:456:27
[INFO] [stdout]     |
[INFO] [stdout] 456 |     ("Cyril".to_string(), Money(5500)),
[INFO] [stdout]     |                           ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `boot_atm` in this scope
[INFO] [stdout]    --> src/lib.rs:459:11
[INFO] [stdout]     |
[INFO] [stdout] 459 | let atm = boot_atm(Arc::clone(&accounts));
[INFO] [stdout]     |           ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 703) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Recv` in this scope
[INFO] [stdout]    --> src/lib.rs:716:25
[INFO] [stdout]     |
[INFO] [stdout] 716 | type Round = Send<Move, Recv<Outcome>>;
[INFO] [stdout]     |                         ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 703 + use par::exchange::Recv;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Dual` in this scope
[INFO] [stdout]    --> src/lib.rs:717:15
[INFO] [stdout]     |
[INFO] [stdout] 717 | type Player = Dual<Round>;
[INFO] [stdout]     |               ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 703 + use par::Dual;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:716:14
[INFO] [stdout]     |
[INFO] [stdout] 716 | type Round = Send<Move, Recv<Outcome>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 716 | type Round = dyn Send<Move, Recv<Outcome>>;
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0782.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 615) stdout ----
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/lib.rs:622:37
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_615_0() {
[INFO] [stdout]     |                                      ----------------------------------- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 622 |     .choose(Counting::Done).recv1().await;
[INFO] [stdout]     |                                     ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `start_counting` in this scope
[INFO] [stdout]    --> src/lib.rs:616:11
[INFO] [stdout]     |
[INFO] [stdout] 616 | let sum = start_counting()
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:617:13
[INFO] [stdout]     |
[INFO] [stdout] 617 |     .choose(Counting::More).send(1)
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:618:13
[INFO] [stdout]     |
[INFO] [stdout] 618 |     .choose(Counting::More).send(2)
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:619:13
[INFO] [stdout]     |
[INFO] [stdout] 619 |     .choose(Counting::More).send(3)
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:620:13
[INFO] [stdout]     |
[INFO] [stdout] 620 |     .choose(Counting::More).send(4)
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:621:13
[INFO] [stdout]     |
[INFO] [stdout] 621 |     .choose(Counting::More).send(5)
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Counting`
[INFO] [stdout]    --> src/lib.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |     .choose(Counting::Done).recv1().await;
[INFO] [stdout]     |             ^^^^^^^^ use of undeclared type `Counting`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 637) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Dequeue` in this scope
[INFO] [stdout]    --> src/lib.rs:638:16
[INFO] [stdout]     |
[INFO] [stdout] 638 | type Numbers = Dequeue<i64, Send<i64>>;
[INFO] [stdout]     |                ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 637 + use par::queue::Dequeue;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Dual` in this scope
[INFO] [stdout]    --> src/lib.rs:639:16
[INFO] [stdout]     |
[INFO] [stdout] 639 | type Counter = Dual<Numbers>;  // Enqueue<i64, Recv<i64>>
[INFO] [stdout]     |                ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 637 + use par::Dual;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:642:5
[INFO] [stdout]     |
[INFO] [stdout] 642 |     fork(|numbers: Numbers| async {
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 637 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, _)`
[INFO] [stdout]    --> src/lib.rs:643:13
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let (total, report) = numbers
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 646 |         report.send1(total);
[INFO] [stdout]     |         ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this pattern a type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let (total, report): (_, _) = numbers
[INFO] [stdout]     |                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 483) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:489:20
[INFO] [stdout]     |
[INFO] [stdout] 489 |     let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                    ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 485 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]    --> src/lib.rs:489:29
[INFO] [stdout]     |
[INFO] [stdout] 489 |     let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                             ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 485 + use std::collections::HashMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:495:24
[INFO] [stdout]     |
[INFO] [stdout] 495 |     let atm = boot_atm(Arc::clone(&accounts));
[INFO] [stdout]     |                        ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 485 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/lib.rs:501:24
[INFO] [stdout]     |
[INFO] [stdout] 501 |     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 485 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 485 + use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |         ("Alice".to_string(), Money(1000)),
[INFO] [stdout]     |                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:491:29
[INFO] [stdout]     |
[INFO] [stdout] 491 |         ("Bob".to_string(), Money(700)),
[INFO] [stdout]     |                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:492:31
[INFO] [stdout]     |
[INFO] [stdout] 492 |         ("Cyril".to_string(), Money(5500)),
[INFO] [stdout]     |                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `boot_atm` in this scope
[INFO] [stdout]    --> src/lib.rs:495:15
[INFO] [stdout]     |
[INFO] [stdout] 495 |     let atm = boot_atm(Arc::clone(&accounts));
[INFO] [stdout]     |               ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:496:48
[INFO] [stdout]     |
[INFO] [stdout] 496 |     let client = withdraw("Cyril".to_string(), Amount(2500));
[INFO] [stdout]     |                                                ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `withdraw` in this scope
[INFO] [stdout]    --> src/lib.rs:496:18
[INFO] [stdout]     |
[INFO] [stdout] 496 |     let client = withdraw("Cyril".to_string(), Amount(2500));
[INFO] [stdout]     |                  ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 517) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:520:20
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                    ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]    --> src/lib.rs:520:29
[INFO] [stdout]     |
[INFO] [stdout] 520 |     let accounts = Arc::new(HashMap::from([
[INFO] [stdout]     |                             ^^^^^^^ use of undeclared type `HashMap`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::collections::HashMap;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:526:14
[INFO] [stdout]     |
[INFO] [stdout] 526 |     boot_atm(Arc::clone(&accounts)).link(check_balance("Alice".to_string()));
[INFO] [stdout]     |              ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:527:14
[INFO] [stdout]     |
[INFO] [stdout] 527 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Bob".to_string(), Amount(1000)));
[INFO] [stdout]     |              ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Arc`
[INFO] [stdout]    --> src/lib.rs:528:14
[INFO] [stdout]     |
[INFO] [stdout] 528 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Dylan".to_string(), Amount(20)));
[INFO] [stdout]     |              ^^^ use of undeclared type `Arc`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::sync::Arc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration`
[INFO] [stdout]    --> src/lib.rs:530:24
[INFO] [stdout]     |
[INFO] [stdout] 530 |     tokio::time::sleep(Duration::from_secs(1)).await;
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `Duration`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout] 518 + use std::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 518 + use tokio::time::Duration;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:521:31
[INFO] [stdout]     |
[INFO] [stdout] 521 |         ("Alice".to_string(), Money(1000)),
[INFO] [stdout]     |                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:522:29
[INFO] [stdout]     |
[INFO] [stdout] 522 |         ("Bob".to_string(), Money(700)),
[INFO] [stdout]     |                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Money` in this scope
[INFO] [stdout]    --> src/lib.rs:523:31
[INFO] [stdout]     |
[INFO] [stdout] 523 |         ("Cyril".to_string(), Money(5500)),
[INFO] [stdout]     |                               ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `boot_atm` in this scope
[INFO] [stdout]    --> src/lib.rs:526:5
[INFO] [stdout]     |
[INFO] [stdout] 526 |     boot_atm(Arc::clone(&accounts)).link(check_balance("Alice".to_string()));
[INFO] [stdout]     |     ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `check_balance` in this scope
[INFO] [stdout]    --> src/lib.rs:526:42
[INFO] [stdout]     |
[INFO] [stdout] 526 |     boot_atm(Arc::clone(&accounts)).link(check_balance("Alice".to_string()));
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `boot_atm` in this scope
[INFO] [stdout]    --> src/lib.rs:527:5
[INFO] [stdout]     |
[INFO] [stdout] 527 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Bob".to_string(), Amount(1000)));
[INFO] [stdout]     |     ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:527:70
[INFO] [stdout]     |
[INFO] [stdout] 527 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Bob".to_string(), Amount(1000)));
[INFO] [stdout]     |                                                                      ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `withdraw` in this scope
[INFO] [stdout]    --> src/lib.rs:527:42
[INFO] [stdout]     |
[INFO] [stdout] 527 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Bob".to_string(), Amount(1000)));
[INFO] [stdout]     |                                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `boot_atm` in this scope
[INFO] [stdout]    --> src/lib.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 528 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Dylan".to_string(), Amount(20)));
[INFO] [stdout]     |     ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `Amount` in this scope
[INFO] [stdout]    --> src/lib.rs:528:72
[INFO] [stdout]     |
[INFO] [stdout] 528 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Dylan".to_string(), Amount(20)));
[INFO] [stdout]     |                                                                        ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `withdraw` in this scope
[INFO] [stdout]    --> src/lib.rs:528:42
[INFO] [stdout]     |
[INFO] [stdout] 528 |     boot_atm(Arc::clone(&accounts)).link(withdraw("Dylan".to_string(), Amount(20)));
[INFO] [stdout]     |                                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 813) stdout ----
[INFO] [stdout] error[E0425]: cannot find type `Player` in this scope
[INFO] [stdout]    --> src/lib.rs:814:23
[INFO] [stdout]     |
[INFO] [stdout] 814 | fn random_player() -> Player {
[INFO] [stdout]     |                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `fork` in this scope
[INFO] [stdout]    --> src/lib.rs:815:5
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fork(|mut round: Round| async move {
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 814 + use par::runtimes::tokio::fork;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Round` in this scope
[INFO] [stdout]    --> src/lib.rs:815:22
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fork(|mut round: Round| async move {
[INFO] [stdout]     |                      ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]    --> src/lib.rs:822:21
[INFO] [stdout]     |
[INFO] [stdout] 822 | fn random_move() -> Move {
[INFO] [stdout]     |                     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Move`
[INFO] [stdout]    --> src/lib.rs:824:9
[INFO] [stdout]     |
[INFO] [stdout] 824 |         Move::Up
[INFO] [stdout]     |         ^^^^ use of undeclared type `Move`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Move`
[INFO] [stdout]    --> src/lib.rs:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |         Move::Down
[INFO] [stdout]     |         ^^^^ use of undeclared type `Move`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `start_playing` in this scope
[INFO] [stdout]    --> src/lib.rs:833:22
[INFO] [stdout]     |
[INFO] [stdout] 833 |         let winner = start_playing()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Outcome`
[INFO] [stdout]    --> src/lib.rs:816:19
[INFO] [stdout]     |
[INFO] [stdout] 816 |         while let Outcome::Draw(next_round) = round.send(random_move()).recv1().await {
[INFO] [stdout]     |                   ^^^^^^^ use of undeclared type `Outcome`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/exchange.rs - exchange::Send (line 47)
[INFO] [stdout]     src/exchange.rs - exchange::Send (line 55)
[INFO] [stdout]     src/exchange.rs - exchange::Send<S,()>::handle (line 204)
[INFO] [stdout]     src/exchange.rs - exchange::Send<T,()>::choose (line 191)
[INFO] [stdout]     src/lib.rs - (line 103)
[INFO] [stdout]     src/lib.rs - (line 126)
[INFO] [stdout]     src/lib.rs - (line 155)
[INFO] [stdout]     src/lib.rs - (line 269)
[INFO] [stdout]     src/lib.rs - (line 279)
[INFO] [stdout]     src/lib.rs - (line 294)
[INFO] [stdout]     src/lib.rs - (line 312)
[INFO] [stdout]     src/lib.rs - (line 322)
[INFO] [stdout]     src/lib.rs - (line 335)
[INFO] [stdout]     src/lib.rs - (line 344)
[INFO] [stdout]     src/lib.rs - (line 354)
[INFO] [stdout]     src/lib.rs - (line 369)
[INFO] [stdout]     src/lib.rs - (line 375)
[INFO] [stdout]     src/lib.rs - (line 381)
[INFO] [stdout]     src/lib.rs - (line 408)
[INFO] [stdout]     src/lib.rs - (line 425)
[INFO] [stdout]     src/lib.rs - (line 452)
[INFO] [stdout]     src/lib.rs - (line 464)
[INFO] [stdout]     src/lib.rs - (line 475)
[INFO] [stdout]     src/lib.rs - (line 483)
[INFO] [stdout]     src/lib.rs - (line 517)
[INFO] [stdout]     src/lib.rs - (line 569)
[INFO] [stdout]     src/lib.rs - (line 590)
[INFO] [stdout]     src/lib.rs - (line 615)
[INFO] [stdout]     src/lib.rs - (line 637)
[INFO] [stdout]     src/lib.rs - (line 653)
[INFO] [stdout]     src/lib.rs - (line 703)
[INFO] [stdout]     src/lib.rs - (line 727)
[INFO] [stdout]     src/lib.rs - (line 743)
[INFO] [stdout]     src/lib.rs - (line 794)
[INFO] [stdout]     src/lib.rs - (line 813)
[INFO] [stdout]     src/lib.rs - (line 91)
[INFO] [stdout]     src/queue.rs - queue (line 12)
[INFO] [stdout]     src/server.rs - server (line 25)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 38 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.51s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "bdc7950cb616594da82403add772fe281ca3cda3177884f902807baa2c6eb1e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdc7950cb616594da82403add772fe281ca3cda3177884f902807baa2c6eb1e0", kill_on_drop: false }`
[INFO] [stdout] bdc7950cb616594da82403add772fe281ca3cda3177884f902807baa2c6eb1e0
