[INFO] cloning repository https://github.com/CodeMonkeyMax/MoonshineRunner
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CodeMonkeyMax/MoonshineRunner" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeMonkeyMax%2FMoonshineRunner", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeMonkeyMax%2FMoonshineRunner'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d9c382d210f1ea256817e5b968554f4b413ed946
[INFO] testing CodeMonkeyMax/MoonshineRunner against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeMonkeyMax%2FMoonshineRunner" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CodeMonkeyMax/MoonshineRunner on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/CodeMonkeyMax/MoonshineRunner
[INFO] finished tweaking git repo https://github.com/CodeMonkeyMax/MoonshineRunner
[INFO] tweaked toml for git repo https://github.com/CodeMonkeyMax/MoonshineRunner written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/CodeMonkeyMax/MoonshineRunner 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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7eab2007cb102f5dc46ee2b86256873b513b4c7fb0ede20e6b0ca22d3e8efa91
[INFO] running `Command { std: "docker" "start" "-a" "7eab2007cb102f5dc46ee2b86256873b513b4c7fb0ede20e6b0ca22d3e8efa91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7eab2007cb102f5dc46ee2b86256873b513b4c7fb0ede20e6b0ca22d3e8efa91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7eab2007cb102f5dc46ee2b86256873b513b4c7fb0ede20e6b0ca22d3e8efa91", kill_on_drop: false }`
[INFO] [stdout] 7eab2007cb102f5dc46ee2b86256873b513b4c7fb0ede20e6b0ca22d3e8efa91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9cb0022607e21ff7ea59af59996e0b40bc2fd91a6ccbd91ac343adeb3d4e670
[INFO] running `Command { std: "docker" "start" "-a" "c9cb0022607e21ff7ea59af59996e0b40bc2fd91a6ccbd91ac343adeb3d4e670", kill_on_drop: false }`
[INFO] [stderr]    Compiling signal-hook v0.3.15
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.26.1
[INFO] [stderr]    Compiling my-project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]   --> src/main.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod lib;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: lib.rs is the root of this crate's library target
[INFO] [stdout]    = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]    = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stat::Stat`
[INFO] [stdout]  --> src/main.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lib::{car::Car, player::Player, route::Route, stat::Stat, sutil::*};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `write`
[INFO] [stdout]  --> src/main.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{io::Write, thread, time::Duration, write};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stat::Stat`
[INFO] [stdout]  --> src/lib/player.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{car::*, stat::Stat, still::Still, wallet::Wallet};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutableCommand`, `QueueableCommand`, `Result`, `cursor`, `self`, `terminal`
[INFO] [stdout]  --> src/lib/sutil.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cursor, execute,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 5 |     style::{self, Stylize},
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 6 |     terminal, ExecutableCommand, QueueableCommand, Result,
[INFO] [stdout]   |     ^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> src/lib/sutil.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{stdout, Write};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/lib/sutil.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{stdout, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `car_class`
[INFO] [stdout]    --> src/lib/car.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn make_speed(car_class: &char, car_type: &String) -> Stat {
[INFO] [stdout]     |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_class`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/lib/car.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn make_type(class: char, tier: u8) -> String {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tier`
[INFO] [stdout]    --> src/lib/car.rs:216:16
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn make_prefix(tier: u8) -> String {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_tier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `car::Car::default_car` in statics
[INFO] [stdout]   --> src/main.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     car: Car::default_car(),
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `Lazy::new(|| ...)` from the `once_cell` crate: https://crates.io/crates/once_cell
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Still::default` in statics
[INFO] [stdout]   --> src/main.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     still: Still::default(),
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `Lazy::new(|| ...)` from the `once_cell` crate: https://crates.io/crates/once_cell
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `PLAYER.car` as mutable, as `PLAYER` is an immutable static item
[INFO] [stdout]   --> src/main.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 PLAYER.car.reset();
[INFO] [stdout]    |                 ^^^^^^^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/main.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for j in 0..i {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         for j in i..36 - 1 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]    --> src/main.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let still: Still = *PLAYER.get_still();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ move occurs because value has type `Still`, which does not implement the `Copy` trait
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the dereference here
[INFO] [stdout]     |
[INFO] [stdout] 105 -         let still: Still = *PLAYER.get_still();
[INFO] [stdout] 105 +         let still: Still = PLAYER.get_still();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quantity`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         PLAYER.car.cargo_quantity = calculate_cargo_quantity(output, PLAYER.car.cgo.real);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 PLAYER.car.cargo_quality = 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 PLAYER.car.cargo_quality = 2;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 PLAYER.car.cargo_quality = 3;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.current_durability`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         PLAYER.car.current_durability = PLAYER.car.dur.real;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to data in a `&` reference
[INFO] [stdout]    --> src/main.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             PLAYER.get_car().current_durability = PLAYER.get_car().dur.real;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mult` is never read
[INFO] [stdout]    --> src/main.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let mut mult: f64 = 1.0;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PLAYER.wallet.add(money_increment as i32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let mut user_entry: Option<char> = get_instant_input(&['y', 'n']);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     PLAYER.car = car1;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:394:21
[INFO] [stdout]     |
[INFO] [stdout] 394 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     PLAYER.car = car2;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:404:21
[INFO] [stdout]     |
[INFO] [stdout] 404 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |                     PLAYER.car = car3;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout] 499 |             c => {
[INFO] [stdout]     |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 502 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |             c => {
[INFO] [stdout]     |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 556 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.spd.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:458:25
[INFO] [stdout]     |
[INFO] [stdout] 458 |                         PLAYER.car.spd.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.dur.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:473:25
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         PLAYER.car.dur.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:474:25
[INFO] [stdout]     |
[INFO] [stdout] 474 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cgo.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:488:25
[INFO] [stdout]     |
[INFO] [stdout] 488 |                         PLAYER.car.cgo.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:489:25
[INFO] [stdout]     |
[INFO] [stdout] 489 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.spd.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:512:25
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         PLAYER.still.spd.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:513:25
[INFO] [stdout]     |
[INFO] [stdout] 513 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.vol.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:527:25
[INFO] [stdout]     |
[INFO] [stdout] 527 |                         PLAYER.still.vol.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:528:25
[INFO] [stdout]     |
[INFO] [stdout] 528 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.qlt.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:542:25
[INFO] [stdout]     |
[INFO] [stdout] 542 |                         PLAYER.still.qlt.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:543:25
[INFO] [stdout]     |
[INFO] [stdout] 543 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.current_durability`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:658:17
[INFO] [stdout]     |
[INFO] [stdout] 658 |                 PLAYER.car.current_durability -= 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:657:13
[INFO] [stdout]     |
[INFO] [stdout] 657 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 30 previous errors; 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0507, E0594, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `my-project` (bin "my-project") due to 31 previous errors; 20 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c9cb0022607e21ff7ea59af59996e0b40bc2fd91a6ccbd91ac343adeb3d4e670", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9cb0022607e21ff7ea59af59996e0b40bc2fd91a6ccbd91ac343adeb3d4e670", kill_on_drop: false }`
[INFO] [stdout] c9cb0022607e21ff7ea59af59996e0b40bc2fd91a6ccbd91ac343adeb3d4e670
[INFO] testing CodeMonkeyMax/MoonshineRunner against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCodeMonkeyMax%2FMoonshineRunner" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CodeMonkeyMax/MoonshineRunner on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/CodeMonkeyMax/MoonshineRunner
[INFO] finished tweaking git repo https://github.com/CodeMonkeyMax/MoonshineRunner
[INFO] tweaked toml for git repo https://github.com/CodeMonkeyMax/MoonshineRunner written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/CodeMonkeyMax/MoonshineRunner 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0c00199e0873315da8f4ff78df1039eaa8113f7877cf03cce140aef416a657e6
[INFO] running `Command { std: "docker" "start" "-a" "0c00199e0873315da8f4ff78df1039eaa8113f7877cf03cce140aef416a657e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0c00199e0873315da8f4ff78df1039eaa8113f7877cf03cce140aef416a657e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c00199e0873315da8f4ff78df1039eaa8113f7877cf03cce140aef416a657e6", kill_on_drop: false }`
[INFO] [stdout] 0c00199e0873315da8f4ff78df1039eaa8113f7877cf03cce140aef416a657e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc8549d68e7e3a16a4f890d71d93c015cbdffbeb5684cba1d2c04e03989cf83b
[INFO] running `Command { std: "docker" "start" "-a" "bc8549d68e7e3a16a4f890d71d93c015cbdffbeb5684cba1d2c04e03989cf83b", kill_on_drop: false }`
[INFO] [stderr]    Compiling signal-hook v0.3.15
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.26.1
[INFO] [stderr]    Compiling my-project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: found module declaration for lib.rs
[INFO] [stdout]   --> src/main.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod lib;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: lib.rs is the root of this crate's library target
[INFO] [stdout]    = help: to refer to it from other targets, use the library's name as the path
[INFO] [stdout]    = note: `#[warn(special_module_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stat::Stat`
[INFO] [stdout]  --> src/main.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lib::{car::Car, player::Player, route::Route, stat::Stat, sutil::*};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `write`
[INFO] [stdout]  --> src/main.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{io::Write, thread, time::Duration, write};
[INFO] [stdout]   |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stat::Stat`
[INFO] [stdout]  --> src/lib/player.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{car::*, stat::Stat, still::Still, wallet::Wallet};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutableCommand`, `QueueableCommand`, `Result`, `cursor`, `self`, `terminal`
[INFO] [stdout]  --> src/lib/sutil.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     cursor, execute,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 5 |     style::{self, Stylize},
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 6 |     terminal, ExecutableCommand, QueueableCommand, Result,
[INFO] [stdout]   |     ^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> src/lib/sutil.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{stdout, Write};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/lib/sutil.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{stdout, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `car_class`
[INFO] [stdout]    --> src/lib/car.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn make_speed(car_class: &char, car_type: &String) -> Stat {
[INFO] [stdout]     |               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_class`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `class`
[INFO] [stdout]    --> src/lib/car.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn make_type(class: char, tier: u8) -> String {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_class`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tier`
[INFO] [stdout]    --> src/lib/car.rs:216:16
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn make_prefix(tier: u8) -> String {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_tier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `car::Car::default_car` in statics
[INFO] [stdout]   --> src/main.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     car: Car::default_car(),
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `Lazy::new(|| ...)` from the `once_cell` crate: https://crates.io/crates/once_cell
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const fn `Still::default` in statics
[INFO] [stdout]   --> src/main.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     still: Still::default(),
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in statics are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout]    = note: consider wrapping this expression in `Lazy::new(|| ...)` from the `once_cell` crate: https://crates.io/crates/once_cell
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `PLAYER.car` as mutable, as `PLAYER` is an immutable static item
[INFO] [stdout]   --> src/main.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 PLAYER.car.reset();
[INFO] [stdout]    |                 ^^^^^^^^^^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/main.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for j in 0..i {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         for j in i..36 - 1 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]    --> src/main.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let still: Still = *PLAYER.get_still();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^ move occurs because value has type `Still`, which does not implement the `Copy` trait
[INFO] [stdout]     |
[INFO] [stdout] help: consider removing the dereference here
[INFO] [stdout]     |
[INFO] [stdout] 105 -         let still: Still = *PLAYER.get_still();
[INFO] [stdout] 105 +         let still: Still = PLAYER.get_still();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quantity`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         PLAYER.car.cargo_quantity = calculate_cargo_quantity(output, PLAYER.car.cgo.real);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |                 PLAYER.car.cargo_quality = 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 PLAYER.car.cargo_quality = 2;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cargo_quality`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 PLAYER.car.cargo_quality = 3;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.current_durability`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         PLAYER.car.current_durability = PLAYER.car.dur.real;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to data in a `&` reference
[INFO] [stdout]    --> src/main.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |             PLAYER.get_car().current_durability = PLAYER.get_car().dur.real;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mult` is never read
[INFO] [stdout]    --> src/main.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let mut mult: f64 = 1.0;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 330 |     PLAYER.wallet.add(money_increment as i32);
[INFO] [stdout]     |     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:336:9
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let mut user_entry: Option<char> = get_instant_input(&['y', 'n']);
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:384:21
[INFO] [stdout]     |
[INFO] [stdout] 384 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     PLAYER.car = car1;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:394:21
[INFO] [stdout]     |
[INFO] [stdout] 394 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                     PLAYER.car = car2;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:404:21
[INFO] [stdout]     |
[INFO] [stdout] 404 |                     PLAYER.wallet.sub(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:407:21
[INFO] [stdout]     |
[INFO] [stdout] 407 |                     PLAYER.car = car3;
[INFO] [stdout]     |                     ^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:502:13
[INFO] [stdout]     |
[INFO] [stdout] 499 |             c => {
[INFO] [stdout]     |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 502 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |             c => {
[INFO] [stdout]     |             - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 556 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.spd.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:458:25
[INFO] [stdout]     |
[INFO] [stdout] 458 |                         PLAYER.car.spd.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.dur.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:473:25
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         PLAYER.car.dur.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:474:25
[INFO] [stdout]     |
[INFO] [stdout] 474 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.cgo.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:488:25
[INFO] [stdout]     |
[INFO] [stdout] 488 |                         PLAYER.car.cgo.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:489:25
[INFO] [stdout]     |
[INFO] [stdout] 489 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.spd.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:512:25
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         PLAYER.still.spd.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:513:25
[INFO] [stdout]     |
[INFO] [stdout] 513 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.vol.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:527:25
[INFO] [stdout]     |
[INFO] [stdout] 527 |                         PLAYER.still.vol.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:528:25
[INFO] [stdout]     |
[INFO] [stdout] 528 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.still.qlt.real`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:542:25
[INFO] [stdout]     |
[INFO] [stdout] 542 |                         PLAYER.still.qlt.real += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `PLAYER.wallet` as `PLAYER` is a static item
[INFO] [stdout]    --> src/main.rs:543:25
[INFO] [stdout]     |
[INFO] [stdout] 543 |                         PLAYER.wallet.sub(cost);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ move occurs because `PLAYER.wallet` has type `Wallet`, which does not implement the `Copy` trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `PLAYER.car.current_durability`, as `PLAYER` is an immutable static item
[INFO] [stdout]    --> src/main.rs:658:17
[INFO] [stdout]     |
[INFO] [stdout] 658 |                 PLAYER.car.current_durability -= 1;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot assign
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:657:13
[INFO] [stdout]     |
[INFO] [stdout] 657 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 30 previous errors; 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0015, E0507, E0594, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0015`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `my-project` (bin "my-project") due to 31 previous errors; 20 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bc8549d68e7e3a16a4f890d71d93c015cbdffbeb5684cba1d2c04e03989cf83b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc8549d68e7e3a16a4f890d71d93c015cbdffbeb5684cba1d2c04e03989cf83b", kill_on_drop: false }`
[INFO] [stdout] bc8549d68e7e3a16a4f890d71d93c015cbdffbeb5684cba1d2c04e03989cf83b
