[INFO] cloning repository https://github.com/ferrite-rs/ferrite-tutorial
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ferrite-rs/ferrite-tutorial" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrite-rs%2Fferrite-tutorial", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrite-rs%2Fferrite-tutorial'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a84f78984c4130a657ff7cbcae51e86e32764446
[INFO] checking ferrite-rs/ferrite-tutorial against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fferrite-rs%2Fferrite-tutorial" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ferrite-rs/ferrite-tutorial
[INFO] finished tweaking git repo https://github.com/ferrite-rs/ferrite-tutorial
[INFO] tweaked toml for git repo https://github.com/ferrite-rs/ferrite-tutorial written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ferrite-rs/ferrite-tutorial on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ferrite-rs/ferrite-tutorial 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ferrite-session v0.2.0
[INFO] [stderr]   Downloaded ipc-channel v0.15.0
[INFO] [stderr]   Downloaded tokio v1.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 06521302601c745e4af497d5d628bfd448723590e242a5872fd435fa6ff08932
[INFO] running `Command { std: "docker" "start" "-a" "06521302601c745e4af497d5d628bfd448723590e242a5872fd435fa6ff08932", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "06521302601c745e4af497d5d628bfd448723590e242a5872fd435fa6ff08932", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06521302601c745e4af497d5d628bfd448723590e242a5872fd435fa6ff08932", kill_on_drop: false }`
[INFO] [stdout] 06521302601c745e4af497d5d628bfd448723590e242a5872fd435fa6ff08932
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3fe500e2d17ee57c1b1f79cc95e5f7ba251fe292baeecf32dd0851da48fcefdd
[INFO] running `Command { std: "docker" "start" "-a" "3fe500e2d17ee57c1b1f79cc95e5f7ba251fe292baeecf32dd0851da48fcefdd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling tokio v1.7.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking bytes v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking pin-project-lite v0.2.6
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking env_logger v0.8.4
[INFO] [stderr]    Compiling tokio-macros v1.2.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ipc-channel v0.15.0
[INFO] [stderr]     Checking ferrite-session v0.2.0
[INFO] [stderr]     Checking ferrite-tutorial v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/bin/08_queue.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn elem(val: String) -> Session<ReceiveChannel<Queue, Queue>>
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elem` is never used
[INFO] [stdout]   --> src/bin/08_queue.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn elem(val: String) -> Session<ReceiveChannel<Queue, Queue>>
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn fork(id: u8) -> SharedSession<Fork> {
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:78:3
[INFO] [stdout]    |
[INFO] [stdout] 78 |   id: u8,
[INFO] [stdout]    |   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 |   left: SharedChannel<Fork>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:80:3
[INFO] [stdout]    |
[INFO] [stdout] 80 |   right: SharedChannel<Fork>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val1`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:73:3
[INFO] [stdout]    |
[INFO] [stdout] 73 |   val1: String,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_val1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Adder` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Adder =
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adder_provider` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn adder_provider() -> Session<Adder> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adder_client` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn adder_client() -> Session<ReceiveChannel<Adder, End>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tail`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:74:3
[INFO] [stdout]    |
[INFO] [stdout] 74 |   tail: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_tail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 |   queue: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:82:3
[INFO] [stdout]    |
[INFO] [stdout] 82 |   val: String
[INFO] [stdout]    |   ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:89:3
[INFO] [stdout]    |
[INFO] [stdout] 89 |   queue: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn fork(id: u8) -> SharedSession<Fork> {
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:78:3
[INFO] [stdout]    |
[INFO] [stdout] 78 |   id: u8,
[INFO] [stdout]    |   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:79:3
[INFO] [stdout]    |
[INFO] [stdout] 79 |   left: SharedChannel<Fork>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/bin/10_dining_philosophers.rs:80:3
[INFO] [stdout]    |
[INFO] [stdout] 80 |   right: SharedChannel<Fork>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/bin/08_queue.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn elem(val: String) -> Session<ReceiveChannel<Queue, Queue>>
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `head_queue` is never used
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn head_queue(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nickel2`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |         include_session(forge_nickel(), move |nickel2| {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nickel2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nickel1`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:88:45
[INFO] [stdout]    |
[INFO] [stdout] 88 |       include_session(forge_nickel(), move |nickel1| {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nickel1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vending_machine`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:87:46
[INFO] [stdout]    |
[INFO] [stdout] 87 |     include_session(vending_machine(), move |vending_machine| {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vending_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coin_exchange`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |   include_session(coin_exchange(), move |coin_exchange| {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coin_exchange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `elem` is never used
[INFO] [stdout]   --> src/bin/08_queue.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn elem(val: String) -> Session<ReceiveChannel<Queue, Queue>>
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_pin`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 |   actual_pin: Pin,
[INFO] [stdout]     |   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_pin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempts`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:151:3
[INFO] [stdout]     |
[INFO] [stdout] 151 |   attempts: u8,
[INFO] [stdout]     |   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:152:3
[INFO] [stdout]     |
[INFO] [stdout] 152 |   balance: u64,
[INFO] [stdout]     |   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pin`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:158:3
[INFO] [stdout]     |
[INFO] [stdout] 158 |   pin: Pin,
[INFO] [stdout]     |   ^^^ help: if this is intentional, prefix it with an underscore: `_pin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `withdraw_amount`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:159:3
[INFO] [stdout]     |
[INFO] [stdout] 159 |   withdraw_amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_withdraw_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn calculator_provider(current: f64) -> Session<Calculator> {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:66:3
[INFO] [stdout]    |
[INFO] [stdout] 66 |   x: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |   y: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |   z: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RETRY` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const MAX_RETRY: u8 = 3;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `amount` is never read
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:126:3
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct CashVal {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 126 |   amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forge_cash` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn forge_cash(amount: u64) -> Session<Cash> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spend_cash` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn spend_cash() -> Session<ReceiveChannel<Cash, End>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> src/bin/04_simple_calculator.rs:37:50
[INFO] [stdout]    |
[INFO] [stdout] 37 |     include_session(calculator_provider(), move |c2| {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> src/bin/04_simple_calculator.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |   include_session(calculator_provider(), move |c1| {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nickel2`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:89:47
[INFO] [stdout]    |
[INFO] [stdout] 89 |         include_session(forge_nickel(), move |nickel2| {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nickel2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nickel1`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:88:45
[INFO] [stdout]    |
[INFO] [stdout] 88 |       include_session(forge_nickel(), move |nickel1| {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nickel1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vending_machine`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:87:46
[INFO] [stdout]    |
[INFO] [stdout] 87 |     include_session(vending_machine(), move |vending_machine| {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vending_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `coin_exchange`
[INFO] [stdout]   --> src/bin/03_coin_exchange.rs:86:42
[INFO] [stdout]    |
[INFO] [stdout] 86 |   include_session(coin_exchange(), move |coin_exchange| {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_coin_exchange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_pin`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 150 |   actual_pin: Pin,
[INFO] [stdout]     |   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_pin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attempts`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:151:3
[INFO] [stdout]     |
[INFO] [stdout] 151 |   attempts: u8,
[INFO] [stdout]     |   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:152:3
[INFO] [stdout]     |
[INFO] [stdout] 152 |   balance: u64,
[INFO] [stdout]     |   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pin`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:158:3
[INFO] [stdout]     |
[INFO] [stdout] 158 |   pin: Pin,
[INFO] [stdout]     |   ^^^ help: if this is intentional, prefix it with an underscore: `_pin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `withdraw_amount`
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:159:3
[INFO] [stdout]     |
[INFO] [stdout] 159 |   withdraw_amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_withdraw_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_pin`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn atm_provider(actual_pin: Pin, balance: u64) -> Session<Atm> {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_pin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn atm_provider(actual_pin: Pin, balance: u64) -> Session<Atm> {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pin`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |   pin: Pin,
[INFO] [stdout]     |   ^^^ help: if this is intentional, prefix it with an underscore: `_pin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `withdraw_amount`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 |   withdraw_amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_withdraw_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_RETRY` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const MAX_RETRY: u8 = 3;
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `amount` is never read
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:126:3
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct CashVal {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 126 |   amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forge_cash` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn forge_cash(amount: u64) -> Session<Cash> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spend_cash` is never used
[INFO] [stdout]    --> src/bin/07_rec_atm.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn spend_cash() -> Session<ReceiveChannel<Cash, End>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `amount` is never read
[INFO] [stdout]   --> src/bin/05_simple_atm.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct CashVal {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 86 |   amount: CashAmount,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forge_cash` is never used
[INFO] [stdout]   --> src/bin/05_simple_atm.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn forge_cash(amount: u64) -> Session<Cash> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spend_cash` is never used
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn spend_cash() -> Session<ReceiveChannel<Cash, End>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Adder` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Adder =
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adder_provider` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn adder_provider() -> Session<Adder> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adder_client` is never used
[INFO] [stdout]   --> src/bin/02_adder.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn adder_client() -> Session<ReceiveChannel<Adder, End>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val1`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:73:3
[INFO] [stdout]    |
[INFO] [stdout] 73 |   val1: String,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_val1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tail`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:74:3
[INFO] [stdout]    |
[INFO] [stdout] 74 |   tail: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^ help: if this is intentional, prefix it with an underscore: `_tail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:81:3
[INFO] [stdout]    |
[INFO] [stdout] 81 |   queue: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:82:3
[INFO] [stdout]    |
[INFO] [stdout] 82 |   val: String
[INFO] [stdout]    |   ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:89:3
[INFO] [stdout]    |
[INFO] [stdout] 89 |   queue: SharedChannel<Queue>,
[INFO] [stdout]    |   ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn calculator_provider(current: f64) -> Session<Calculator> {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:66:3
[INFO] [stdout]    |
[INFO] [stdout] 66 |   x: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:67:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |   y: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/bin/06_rec_calculator.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |   z: f64,
[INFO] [stdout]    |   ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `head_queue` is never used
[INFO] [stdout]   --> src/bin/09_shared_queue.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn head_queue(
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> src/bin/04_simple_calculator.rs:37:50
[INFO] [stdout]    |
[INFO] [stdout] 37 |     include_session(calculator_provider(), move |c2| {
[INFO] [stdout]    |                                                  ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> src/bin/04_simple_calculator.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |   include_session(calculator_provider(), move |c1| {
[INFO] [stdout]    |                                                ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_pin`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn atm_provider(actual_pin: Pin, balance: u64) -> Session<Atm> {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_pin`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `balance`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn atm_provider(actual_pin: Pin, balance: u64) -> Session<Atm> {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pin`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:114:3
[INFO] [stdout]     |
[INFO] [stdout] 114 |   pin: Pin,
[INFO] [stdout]     |   ^^^ help: if this is intentional, prefix it with an underscore: `_pin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `withdraw_amount`
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:115:3
[INFO] [stdout]     |
[INFO] [stdout] 115 |   withdraw_amount: CashAmount,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_withdraw_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `amount` is never read
[INFO] [stdout]   --> src/bin/05_simple_atm.rs:86:3
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct CashVal {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 86 |   amount: CashAmount,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forge_cash` is never used
[INFO] [stdout]   --> src/bin/05_simple_atm.rs:91:4
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn forge_cash(amount: u64) -> Session<Cash> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spend_cash` is never used
[INFO] [stdout]    --> src/bin/05_simple_atm.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn spend_cash() -> Session<ReceiveChannel<Cash, End>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.30s
[INFO] running `Command { std: "docker" "inspect" "3fe500e2d17ee57c1b1f79cc95e5f7ba251fe292baeecf32dd0851da48fcefdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3fe500e2d17ee57c1b1f79cc95e5f7ba251fe292baeecf32dd0851da48fcefdd", kill_on_drop: false }`
[INFO] [stdout] 3fe500e2d17ee57c1b1f79cc95e5f7ba251fe292baeecf32dd0851da48fcefdd
