[INFO] cloning repository https://github.com/jverat/Kenshilyzer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jverat/Kenshilyzer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjverat%2FKenshilyzer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjverat%2FKenshilyzer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c2b429ebb52d29ed782842a73d3fd3fffc75873
[INFO] testing jverat/Kenshilyzer against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjverat%2FKenshilyzer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jverat/Kenshilyzer
[INFO] finished tweaking git repo https://github.com/jverat/Kenshilyzer
[INFO] tweaked toml for git repo https://github.com/jverat/Kenshilyzer written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jverat/Kenshilyzer on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jverat/Kenshilyzer 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" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded binary-search v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc
[INFO] running `Command { std: "docker" "start" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling binary-search v0.1.2
[INFO] [stderr]    Compiling Kenshilyzer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dotenv::dotenv`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use dotenv::dotenv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/game.rs:40:66
[INFO] [stdout]     |
[INFO] [stdout]  40 |                         wait_for_modlist(modlist_state_receiver, 360);
[INFO] [stdout]     |                         ----------------                         ^^^ expected `Duration`, found integer
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/game.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn wait_for_modlist(modlist_state_receiver: mpsc::Receiver<State>, timeout: Duration) -> Result<(), Error> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^                                                -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/game.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     todo!();
[INFO] [stdout]    |                     ------- any code following this expression is unreachable
[INFO] [stdout] 57 |                     println!("Channel having issues reading Kenshi state, do you want to kill de whole thing? (y/n)");
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/mod_list.rs:28:56
[INFO] [stdout]    |
[INFO] [stdout] 28 |       if let Some(every_mod_sorted) = read_file(modlist) {
[INFO] [stdout]    |  ________________________________________________________^
[INFO] [stdout] 29 | |         let indexed_modlist: Vec<(usize, &String)> = every_mod_sorted.iter()
[INFO] [stdout] 30 | |                                                                      .enumerate()
[INFO] [stdout] 31 | |                                                                      .collect();
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     }
[INFO] [stdout]    | |_____^ expected `AppMetrics`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/game.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn run(duration: Duration, kenshi_file: &Path, game_state_channel: (mpsc::Sender<State>, mpsc::Receiver<State>), modlist_state_r...
[INFO] [stdout]    |            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state_channel`
[INFO] [stdout]   --> src/game.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | ..._file: &Path, game_state_channel: (mpsc::Sender<State>, mpsc::Receiver<State>), modlist_state_receiver: mpsc::Receiver<State>) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state_channel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modlist_state_receiver`
[INFO] [stdout]   --> src/game.rs:10:118
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...<State>), modlist_state_receiver: mpsc::Receiver<State>) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modlist_state_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iterations`
[INFO] [stdout]   --> src/game.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let iterations = 0;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iterations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]   --> src/game.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let cmd = Command::new("wine")
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0381]: used binding `input` isn't initialized
[INFO] [stdout]    --> src/game.rs:149:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut input: String;
[INFO] [stdout]     |         --------- binding declared here but left uninitialized
[INFO] [stdout] 149 |     if let Err(e) = stdin().lock().take(8).read_line(&mut input) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ `input` used here but it isn't initialized
[INFO] [stdout]     |
[INFO] [stdout] help: consider assigning a value
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let mut input: String = Default::default();
[INFO] [stdout]     |                           ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modlist`
[INFO] [stdout]  --> src/mod_list.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn modlist_placer(modlist: Vec<String>, kenshi_file: &Path) {
[INFO] [stdout]   |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modlist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kenshi_file`
[INFO] [stdout]  --> src/mod_list.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn modlist_placer(modlist: Vec<String>, kenshi_file: &Path) {
[INFO] [stdout]   |                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kenshi_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of function
[INFO] [stdout]   --> src/main.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn orchestration(modlist: &Path, kenshi_file: &Path, duration: Duration ) {
[INFO] [stdout]    |                  -------  - let's call the lifetime of this reference `'1`
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  `modlist` is a reference that is only valid in the function body
[INFO] [stdout] ...
[INFO] [stdout] 55 |     let modlist_handle = thread::spawn(|| mod_list::start(modlist, modlist_state_channel, game_state_channel.1));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          `modlist` escapes the function body here
[INFO] [stdout]    |                          argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of function
[INFO] [stdout]   --> src/main.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn orchestration(modlist: &Path, kenshi_file: &Path, duration: Duration ) {
[INFO] [stdout]    |                                  -----------  - let's call the lifetime of this reference `'2`
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  `kenshi_file` is a reference that is only valid in the function body
[INFO] [stdout] ...
[INFO] [stdout] 56 |     let game_handle = thread::spawn(|| game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       `kenshi_file` escapes the function body here
[INFO] [stdout]    |                       argument requires that `'2` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0373]: closure may outlive the current function, but it borrows `duration`, which is owned by the current function
[INFO] [stdout]   --> src/main.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let game_handle = thread::spawn(|| game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                                     ^^           -------- `duration` is borrowed here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     may outlive borrowed value `duration`
[INFO] [stdout]    |
[INFO] [stdout] note: function requires argument type to outlive `'static`
[INFO] [stdout]   --> src/main.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let game_handle = thread::spawn(|| game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: to force the closure to take ownership of `duration` (and any other referenced variables), use the `move` keyword
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let game_handle = thread::spawn(move || game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of moved value: `modlist_state_channel.1`
[INFO] [stdout]   --> src/main.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let modlist_state_channel   = mpsc::channel::<State>();
[INFO] [stdout]    |         --------------------- move occurs because `modlist_state_channel` has type `(std::sync::mpsc::Sender<State>, std::sync::mpsc::Receiver<State>)`, which does not implement the `Copy` trait
[INFO] [stdout] ...
[INFO] [stdout] 55 |     let modlist_handle = thread::spawn(|| mod_list::start(modlist, modlist_state_channel, game_state_channel.1));
[INFO] [stdout]    |                                        --                          --------------------- variable moved due to use in closure
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        value moved into closure here
[INFO] [stdout] 56 |     let game_handle = thread::spawn(|| game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                                     ^^ value used here after move                           ----------------------- use occurs due to use in closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0382]: use of partially moved value: `game_state_channel`
[INFO] [stdout]   --> src/main.rs:56:37
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let modlist_handle = thread::spawn(|| mod_list::start(modlist, modlist_state_channel, game_state_channel.1));
[INFO] [stdout]    |                                        -- value partially moved into closure here         -------------------- variable partially moved due to use in closure
[INFO] [stdout] 56 |     let game_handle = thread::spawn(|| game::run(duration, kenshi_file, game_state_channel, modlist_state_channel.1));
[INFO] [stdout]    |                                     ^^                                  ------------------ use occurs due to use in closure
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     value used here after partial move
[INFO] [stdout]    |
[INFO] [stdout]    = note: partial move occurs because `game_state_channel.1` has type `std::sync::mpsc::Receiver<State>`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/main.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |     if let Some(e) = game_handle.join().err() {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]   --> src/main.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let metrics = modlist_handle.join();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mods_file`
[INFO] [stdout]   --> src/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mods_file = env::var("MODS_FILE").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mods_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kenshi_file`
[INFO] [stdout]   --> src/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let kenshi_file = env::var("KENSHI_EXE").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_kenshi_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/main.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let duration = Duration::from_secs(env::var("DURATION")
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0373, E0381, E0382, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `Kenshilyzer` (bin "Kenshilyzer") due to 8 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc", kill_on_drop: false }`
[INFO] [stdout] 6b6286eb90b8b3166d3c3fb09fa48a211b60fe5e366daefdcef49d0421009cfc
