[INFO] updating cached repository https://github.com/alanpoon/hardback_server
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] a4a653f722b6c8ee10041f5eb3bf579191db98fc
[INFO] checking alanpoon/hardback_server against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falanpoon%2Fhardback_server" "/workspace/builds/worker-12/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/alanpoon/hardback_server on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/alanpoon/hardback_server
[INFO] finished tweaking git repo https://github.com/alanpoon/hardback_server
[INFO] tweaked toml for git repo https://github.com/alanpoon/hardback_server written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/alanpoon/hardback_server already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 7f25f434c11d441a5a4af13fc2b838554f14430a60f479f0043119513d1ad644
[INFO] running `"docker" "start" "-a" "7f25f434c11d441a5a4af13fc2b838554f14430a60f479f0043119513d1ad644"`
[INFO] [stderr]     Checking error-chain v0.12.0
[INFO] [stderr]     Checking either v1.1.0
[INFO] [stderr]     Checking cardgame_macros v0.1.0 (https://github.com/alanpoon/cardgame_macros.git#8e3a6e0c)
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking idna v0.2.0
[INFO] [stderr]     Checking rand v0.3.16
[INFO] [stderr]     Checking openssl-sys v0.9.53
[INFO] [stderr]     Checking want v0.0.6
[INFO] [stderr]     Checking futures-cpupool v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.14
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking tokio-io v0.1.12
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]     Checking tokio-threadpool v0.1.17
[INFO] [stderr]     Checking failure v0.1.6
[INFO] [stderr]     Checking itertools v0.6.3
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking openssl v0.10.26
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]     Checking tokio-reactor v0.1.11
[INFO] [stderr]     Checking url v2.1.0
[INFO] [stderr]     Checking tokio-fs v0.1.6
[INFO] [stderr]     Checking tokio-tcp v0.1.3
[INFO] [stderr]     Checking tokio-uds v0.2.5
[INFO] [stderr]     Checking tokio-udp v0.1.5
[INFO] [stderr]     Checking publicsuffix v1.5.4
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking cookie v0.12.0
[INFO] [stderr]     Checking hyper v0.10.13
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]     Checking serde v1.0.14
[INFO] [stderr]     Checking native-tls v0.2.3
[INFO] [stderr]     Checking hyper v0.12.28
[INFO] [stderr]     Checking tokio-tls v0.2.1
[INFO] [stderr]     Checking websocket-base v0.24.0
[INFO] [stderr]     Checking websocket v0.24.0
[INFO] [stderr]     Checking hyper-tls v0.3.2
[INFO] [stderr]     Checking serde_json v1.0.3
[INFO] [stderr]     Checking serde_urlencoded v0.5.1
[INFO] [stderr]     Checking chrono v0.4.5
[INFO] [stderr]     Checking cookie_store v0.7.0
[INFO] [stderr]     Checking hardback_codec v0.1.0 (https://github.com/alanpoon/hardback_codec.git#3f3e30dc)
[INFO] [stderr]     Checking reqwest v0.9.24
[INFO] [stderr]     Checking rust_wordnik v0.1.0 (https://github.com/alanpoon/rust_wordnik.git#0ed9e10b)
[INFO] [stderr]     Checking hardback_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/game_logic/resolve_cards.rs:198:53
[INFO] [stderr]     |
[INFO] [stderr] 198 |   ...                   Box<Fn(&mut Player,
[INFO] [stderr]     |  ___________________________^
[INFO] [stderr] 199 | | ...                          &mut Vec<usize>,
[INFO] [stderr] 200 | | ...                          &mut Vec<usize>)>)>...
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 198 |                                                 Box<dyn Fn(&mut Player,
[INFO] [stderr] 199 |                                                        &mut Vec<usize>,
[INFO] [stderr] 200 |                                                        &mut Vec<usize>)>)>> =
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/lobby/mod.rs:156:52
[INFO] [stderr]     |
[INFO] [stderr] 156 | ...                   (c.table == tl)
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/game_logic/resolve_cards.rs:198:53
[INFO] [stderr]     |
[INFO] [stderr] 198 |   ...                   Box<Fn(&mut Player,
[INFO] [stderr]     |  ___________________________^
[INFO] [stderr] 199 | | ...                          &mut Vec<usize>,
[INFO] [stderr] 200 | | ...                          &mut Vec<usize>)>)>...
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 198 |                                                 Box<dyn Fn(&mut Player,
[INFO] [stderr] 199 |                                                        &mut Vec<usize>,
[INFO] [stderr] 200 |                                                        &mut Vec<usize>)>)>> =
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/lobby/mod.rs:156:52
[INFO] [stderr]     |
[INFO] [stderr] 156 | ...                   (c.table == tl)
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]   --> src/game_logic/board.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         wait_for_input.iter_mut().map(move| x|{
[INFO] [stderr] 55 | |              let j = format!("Player {} has played a card to force other players to lose a ink or ink remover.",
[INFO] [stderr] 56 | |                             player_id);
[INFO] [stderr] 57 | |             let _g: WaitForSingleInput=
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |             x.push(Some(_g));
[INFO] [stderr] 66 | |         }).collect::<Vec<()>>();
[INFO] [stderr]    | |________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]   --> src/lobby/mod.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | /         self.connections
[INFO] [stderr] 56 | |             .iter_mut()
[INFO] [stderr] 57 | |             .filter(|&(_, ref con)| con.table == Some(table_num))
[INFO] [stderr] 58 | |             .map(|(_, con)| {
[INFO] [stderr] ...  |
[INFO] [stderr] 61 | |                  })
[INFO] [stderr] 62 | |             .collect::<Vec<()>>();
[INFO] [stderr]    | |__________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:96:9
[INFO] [stderr]     |
[INFO] [stderr] 96  | /         self.connections
[INFO] [stderr] 97  | |             .iter()
[INFO] [stderr] 98  | |             .filter(|&(_, ref con)| con.game_started == false)
[INFO] [stderr] 99  | |             .map(|(_, con)| {
[INFO] [stderr] ...   |
[INFO] [stderr] 111 | |             })
[INFO] [stderr] 112 | |             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:167:37
[INFO] [stderr]     |
[INFO] [stderr] 167 | / ...                   self.connections
[INFO] [stderr] 168 | | ...                       .iter_mut()
[INFO] [stderr] 169 | | ...                       .filter(|&(_, ref c)| c.table == tl)
[INFO] [stderr] 170 | | ...                       .map(|(_, c)| c.game_started = true)
[INFO] [stderr] 171 | | ...                       .collect::<Vec<()>>();
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:187:25
[INFO] [stderr]     |
[INFO] [stderr] 187 | /                         iter_lobby.filter(|&(_, ref c)| c.table == tl)
[INFO] [stderr] 188 | |                             .map(|(_, c)| c.number_of_player = _change_players.clone())
[INFO] [stderr] 189 | |                             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:216:25
[INFO] [stderr]     |
[INFO] [stderr] 216 | /                         iter_lobby.filter(|&(_, c)| if _location == "lobby" {
[INFO] [stderr] 217 | |                                               c.game_started == false
[INFO] [stderr] 218 | |                                           } else {
[INFO] [stderr] 219 | |                                               c.table == table_n
[INFO] [stderr] ...   |
[INFO] [stderr] 227 | |                             })
[INFO] [stderr] 228 | |                             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]   --> src/game_logic/board.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         wait_for_input.iter_mut().map(move| x|{
[INFO] [stderr] 55 | |              let j = format!("Player {} has played a card to force other players to lose a ink or ink remover.",
[INFO] [stderr] 56 | |                             player_id);
[INFO] [stderr] 57 | |             let _g: WaitForSingleInput=
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |             x.push(Some(_g));
[INFO] [stderr] 66 | |         }).collect::<Vec<()>>();
[INFO] [stderr]    | |________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]   --> src/lobby/mod.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | /         self.connections
[INFO] [stderr] 56 | |             .iter_mut()
[INFO] [stderr] 57 | |             .filter(|&(_, ref con)| con.table == Some(table_num))
[INFO] [stderr] 58 | |             .map(|(_, con)| {
[INFO] [stderr] ...  |
[INFO] [stderr] 61 | |                  })
[INFO] [stderr] 62 | |             .collect::<Vec<()>>();
[INFO] [stderr]    | |__________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:96:9
[INFO] [stderr]     |
[INFO] [stderr] 96  | /         self.connections
[INFO] [stderr] 97  | |             .iter()
[INFO] [stderr] 98  | |             .filter(|&(_, ref con)| con.game_started == false)
[INFO] [stderr] 99  | |             .map(|(_, con)| {
[INFO] [stderr] ...   |
[INFO] [stderr] 111 | |             })
[INFO] [stderr] 112 | |             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:167:37
[INFO] [stderr]     |
[INFO] [stderr] 167 | / ...                   self.connections
[INFO] [stderr] 168 | | ...                       .iter_mut()
[INFO] [stderr] 169 | | ...                       .filter(|&(_, ref c)| c.table == tl)
[INFO] [stderr] 170 | | ...                       .map(|(_, c)| c.game_started = true)
[INFO] [stderr] 171 | | ...                       .collect::<Vec<()>>();
[INFO] [stderr]     | |________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:187:25
[INFO] [stderr]     |
[INFO] [stderr] 187 | /                         iter_lobby.filter(|&(_, ref c)| c.table == tl)
[INFO] [stderr] 188 | |                             .map(|(_, c)| c.number_of_player = _change_players.clone())
[INFO] [stderr] 189 | |                             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::iter::Iterator::collect` that must be used
[INFO] [stderr]    --> src/lobby/mod.rs:216:25
[INFO] [stderr]     |
[INFO] [stderr] 216 | /                         iter_lobby.filter(|&(_, c)| if _location == "lobby" {
[INFO] [stderr] 217 | |                                               c.game_started == false
[INFO] [stderr] 218 | |                                           } else {
[INFO] [stderr] 219 | |                                               c.table == table_n
[INFO] [stderr] ...   |
[INFO] [stderr] 227 | |                             })
[INFO] [stderr] 228 | |                             .collect::<Vec<()>>();
[INFO] [stderr]     | |__________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Rng`, `SeedableRng`, `StdRng`, `thread_rng`
[INFO] [stderr]   --> tests/normal.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | use rand::{thread_rng, Rng, SeedableRng, StdRng};
[INFO] [stderr]    |            ^^^^^^^^^^  ^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/mystery_uncover.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/romance.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/timeless.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/horror.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/endgame.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/notifydraft.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/game_log.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/mystery.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/two_players.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/timeless2player.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/start_game.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/start_game.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/overlay.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `con_rx2`
[INFO] [stderr]   --> tests/timeless2player.rs:53:19
[INFO] [stderr]    |
[INFO] [stderr] 53 |     let (con_tx2, con_rx2) = mpsc::channel();
[INFO] [stderr]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_con_rx2`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stderr]   --> tests/start_game.rs:55:14
[INFO] [stderr]    |
[INFO] [stderr] 55 |             .async_connect_insecure(&core.handle())
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^ -------------- supplied 1 argument
[INFO] [stderr]    |              |
[INFO] [stderr]    |              expected 0 arguments
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]    --> tests/start_game.rs:101:60
[INFO] [stderr]     |
[INFO] [stderr] 101 |             gui.clone().send(OwnedMessage::Text(er.clone().description().to_owned())).unwrap();
[INFO] [stderr]     |                                                            ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0061`.
[INFO] [stderr] error: could not compile `hardback_server`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]  --> tests/adventure.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "7f25f434c11d441a5a4af13fc2b838554f14430a60f479f0043119513d1ad644"`
[INFO] running `"docker" "rm" "-f" "7f25f434c11d441a5a4af13fc2b838554f14430a60f479f0043119513d1ad644"`
[INFO] [stdout] 7f25f434c11d441a5a4af13fc2b838554f14430a60f479f0043119513d1ad644
