[INFO] cloning repository https://github.com/The-RetroFunk-Project/cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/The-RetroFunk-Project/cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-RetroFunk-Project%2Fcli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-RetroFunk-Project%2Fcli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b7b5fc569d808c840c5b51732331e91c8aeac372 [INFO] testing The-RetroFunk-Project/cli against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-RetroFunk-Project%2Fcli" "/workspace/builds/worker-36/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-36/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/The-RetroFunk-Project/cli on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/The-RetroFunk-Project/cli [INFO] finished tweaking git repo https://github.com/The-RetroFunk-Project/cli [INFO] tweaked toml for git repo https://github.com/The-RetroFunk-Project/cli written to /workspace/builds/worker-36/source/Cargo.toml [INFO] crate git repo https://github.com/The-RetroFunk-Project/cli already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded indicatif v0.15.0 [INFO] [stderr] Downloaded h2 v0.3.11 [INFO] [stderr] Downloaded image v0.10.4 [INFO] [stderr] Downloaded png v0.5.2 [INFO] [stderr] Downloaded security-framework-sys v2.6.0 [INFO] [stderr] Downloaded raster v0.2.0 [INFO] [stderr] Downloaded zip-extensions v0.6.1 [INFO] [stderr] Downloaded security-framework v2.6.0 [INFO] [stderr] Downloaded sysinfo v0.23.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 09426c0dcb1432e4515893675920454111c213351312afc1582568ca6efe944a [INFO] running `Command { std: "docker" "start" "-a" "09426c0dcb1432e4515893675920454111c213351312afc1582568ca6efe944a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "09426c0dcb1432e4515893675920454111c213351312afc1582568ca6efe944a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09426c0dcb1432e4515893675920454111c213351312afc1582568ca6efe944a", kill_on_drop: false }` [INFO] [stdout] 09426c0dcb1432e4515893675920454111c213351312afc1582568ca6efe944a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 647e3c52341ab9659484d7b6d743d85ca5c6093fdd10ad10adf54b5b4f9034d7 [INFO] running `Command { std: "docker" "start" "-a" "647e3c52341ab9659484d7b6d743d85ca5c6093fdd10ad10adf54b5b4f9034d7", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.116 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.24 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling once_cell v1.9.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.6 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling pin-project-lite v0.2.8 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling crossbeam-epoch v0.9.6 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling futures-core v0.3.19 [INFO] [stderr] Compiling bytes v1.1.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling itoa v1.0.1 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling futures-task v0.3.19 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling futures-util v0.3.19 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling tinyvec_macros v0.1.0 [INFO] [stderr] Compiling slab v0.4.5 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling matches v0.1.9 [INFO] [stderr] Compiling futures-channel v0.3.19 [INFO] [stderr] Compiling futures-sink v0.3.19 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Compiling crc32fast v1.3.1 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Compiling openssl-probe v0.1.5 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling try-lock v0.2.3 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling ryu v1.0.9 [INFO] [stderr] Compiling unicode-bidi v0.3.7 [INFO] [stderr] Compiling tower-service v0.3.1 [INFO] [stderr] Compiling encoding_rs v0.8.30 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling httpdate v1.0.2 [INFO] [stderr] Compiling byteorder v0.5.3 [INFO] [stderr] Compiling inflate v0.1.1 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling serde_json v1.0.78 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling sysinfo v0.23.0 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling number_prefix v0.3.0 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling textwrap v0.14.2 [INFO] [stderr] Compiling base64 v0.13.0 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling ipnet v2.3.1 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Compiling tracing-core v0.1.21 [INFO] [stderr] Compiling form_urlencoded v1.0.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling lock_api v0.4.6 [INFO] [stderr] Compiling http v0.2.6 [INFO] [stderr] Compiling tinyvec v1.5.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling gif v0.9.2 [INFO] [stderr] Compiling tracing v0.1.29 [INFO] [stderr] Compiling openssl-sys v0.9.72 [INFO] [stderr] Compiling miniz-sys v0.1.12 [INFO] [stderr] Compiling bzip2-sys v0.1.11+1.0.8 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.2 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling unicode-normalization v0.1.19 [INFO] [stderr] Compiling os_str_bytes v6.0.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling mio v0.7.14 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling socket2 v0.4.4 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling flate2 v1.0.22 [INFO] [stderr] Compiling terminal_size v0.1.17 [INFO] [stderr] Compiling dirs-sys v0.3.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling bzip2 v0.4.3 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling flate2 v0.2.20 [INFO] [stderr] Compiling http-body v0.4.4 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling console v0.15.0 [INFO] [stderr] Compiling num-bigint v0.1.44 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling png v0.5.2 [INFO] [stderr] Compiling indicatif v0.15.0 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling tokio-macros v1.7.0 [INFO] [stderr] Compiling futures-macro v0.3.19 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling clap_derive v3.0.12 [INFO] [stderr] Compiling image v0.10.4 [INFO] [stderr] Compiling raster v0.2.0 [INFO] [stderr] Compiling tokio v1.16.1 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling zip v0.5.13 [INFO] [stderr] Compiling clap v3.0.13 [INFO] [stderr] Compiling zip-extensions v0.6.1 [INFO] [stderr] Compiling tokio-util v0.6.9 [INFO] [stderr] Compiling tokio-native-tls v0.3.0 [INFO] [stderr] Compiling h2 v0.3.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling hyper v0.14.16 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.9 [INFO] [stderr] Compiling rfproject v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> src/install.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/install.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zip_extensions::read::*` [INFO] [stdout] --> src/install.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use zip_extensions::read::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::*` [INFO] [stdout] --> src/config.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dirs::*` [INFO] [stdout] --> src/binaries.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use dirs::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/install.rs:61:2 [INFO] [stdout] | [INFO] [stdout] 47 | / match GetGeometryDash() [INFO] [stdout] 48 | | { [INFO] [stdout] 49 | | Ok(result_path) => [INFO] [stdout] 50 | | { [INFO] [stdout] ... | [INFO] [stdout] 57 | | }, [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] ... [INFO] [stdout] 61 | return false; [INFO] [stdout] | ^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `initCommand` is never read [INFO] [stdout] --> src/main.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut initCommand = String::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/main.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let output = Command::new(initCommand).args(rest).spawn().expect("Oops"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> src/resources.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut depth = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/install.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [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] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut depth = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:52:29 [INFO] [stdout] | [INFO] [stdout] 52 | let mut p_tex = PlistTexture { name : "".to_string(), texture_rect: Vec::new() }; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let mut r_image = raster::open(format!("{}/Resources/GJ_GameSheet.png", config::get_installation_path()).as_str()).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let mut value_split : Vec<&str> = you.split(',').collect(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | let mut client = reqwest::Client::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | let mut client = reqwest::Client::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `indent` [INFO] [stdout] --> src/resources.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn indent(size: usize) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `initCommand` should have a snake case name [INFO] [stdout] --> src/main.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut initCommand = String::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `init_command` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | download_file(&client, url, &path).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | download_file(&client, url, &path).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GetGeometryDash` should have a snake case name [INFO] [stdout] --> src/install.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn GetGeometryDash() -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_geometry_dash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `geometryDash` should have a snake case name [INFO] [stdout] --> src/install.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut geometryDash; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gdProcess` should have a snake case name [INFO] [stdout] --> src/install.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let gdProcess = match geometryDash.next() { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `gd_process` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gamePath` should have a snake case name [INFO] [stdout] --> src/install.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `game_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GeometryDashExists` should have a snake case name [INFO] [stdout] --> src/install.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn GeometryDashExists() -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash_exists` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/install.rs:66:2 [INFO] [stdout] | [INFO] [stdout] 66 | / zip_extensions::read::zip_extract( [INFO] [stdout] 67 | | &PathBuf::from(format!("{}/TRFP.zip", config::get_installation_path()).as_str()), [INFO] [stdout] 68 | | &PathBuf::from(config::get_installation_path().as_str()), [INFO] [stdout] 69 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `InstallationPath` should have a snake case name [INFO] [stdout] --> src/config.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub InstallationPath: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `installation_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CurrentVersion` should have a snake case name [INFO] [stdout] --> src/config.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub CurrentVersion: Option [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exePath` should have a snake case name [INFO] [stdout] --> src/config.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let exePath = std::env::current_exe().unwrap(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `exe_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saveDirectory` should have a snake case name [INFO] [stdout] --> src/config.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let saveDirectory = exePath.parent().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `save_directory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saveFile` should have a snake case name [INFO] [stdout] --> src/config.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `save_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configPath` should have a snake case name [INFO] [stdout] --> src/config.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let configPath = get_config_path(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configString` should have a snake case name [INFO] [stdout] --> src/config.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let configString = fs::read_to_string(&configPath).expect("Oops"); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `config_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newConfigData` should have a snake case name [INFO] [stdout] --> src/config.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let newConfigData = serde_json::to_string(&configFile).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_config_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/binaries.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | { fs::create_dir(format!("{}/Game", config::get_installation_path()).as_str()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/binaries.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | { fs::create_dir(format!("{}/Game/Binaries", config::get_installation_path()).as_str()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 48.27s [INFO] running `Command { std: "docker" "inspect" "647e3c52341ab9659484d7b6d743d85ca5c6093fdd10ad10adf54b5b4f9034d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "647e3c52341ab9659484d7b6d743d85ca5c6093fdd10ad10adf54b5b4f9034d7", kill_on_drop: false }` [INFO] [stdout] 647e3c52341ab9659484d7b6d743d85ca5c6093fdd10ad10adf54b5b4f9034d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 691d81f4bf720b98e59fb47321cf5ccc619e9f926b96a4a18cfa9d0f35c6b104 [INFO] running `Command { std: "docker" "start" "-a" "691d81f4bf720b98e59fb47321cf5ccc619e9f926b96a4a18cfa9d0f35c6b104", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling rfproject v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> src/install.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/install.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zip_extensions::read::*` [INFO] [stdout] --> src/install.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use zip_extensions::read::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::*` [INFO] [stdout] --> src/config.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dirs::*` [INFO] [stdout] --> src/binaries.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use dirs::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/install.rs:61:2 [INFO] [stdout] | [INFO] [stdout] 47 | / match GetGeometryDash() [INFO] [stdout] 48 | | { [INFO] [stdout] 49 | | Ok(result_path) => [INFO] [stdout] 50 | | { [INFO] [stdout] ... | [INFO] [stdout] 57 | | }, [INFO] [stdout] 58 | | } [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] ... [INFO] [stdout] 61 | return false; [INFO] [stdout] | ^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `initCommand` is never read [INFO] [stdout] --> src/main.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut initCommand = String::new(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/main.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let output = Command::new(initCommand).args(rest).spawn().expect("Oops"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `depth` [INFO] [stdout] --> src/resources.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | let mut depth = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/install.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [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] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/config.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let mut depth = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:52:29 [INFO] [stdout] | [INFO] [stdout] 52 | let mut p_tex = PlistTexture { name : "".to_string(), texture_rect: Vec::new() }; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | let mut r_image = raster::open(format!("{}/Resources/GJ_GameSheet.png", config::get_installation_path()).as_str()).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/resources.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | let mut value_split : Vec<&str> = you.split(',').collect(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | let mut client = reqwest::Client::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | let mut client = reqwest::Client::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `indent` [INFO] [stdout] --> src/resources.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn indent(size: usize) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `initCommand` should have a snake case name [INFO] [stdout] --> src/main.rs:110:17 [INFO] [stdout] | [INFO] [stdout] 110 | let mut initCommand = String::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `init_command` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | download_file(&client, url, &path).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | download_file(&client, url, &path).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GetGeometryDash` should have a snake case name [INFO] [stdout] --> src/install.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn GetGeometryDash() -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_geometry_dash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `geometryDash` should have a snake case name [INFO] [stdout] --> src/install.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut geometryDash; [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gdProcess` should have a snake case name [INFO] [stdout] --> src/install.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let gdProcess = match geometryDash.next() { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `gd_process` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `gamePath` should have a snake case name [INFO] [stdout] --> src/install.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `game_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GeometryDashExists` should have a snake case name [INFO] [stdout] --> src/install.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn GeometryDashExists() -> bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash_exists` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/install.rs:66:2 [INFO] [stdout] | [INFO] [stdout] 66 | / zip_extensions::read::zip_extract( [INFO] [stdout] 67 | | &PathBuf::from(format!("{}/TRFP.zip", config::get_installation_path()).as_str()), [INFO] [stdout] 68 | | &PathBuf::from(config::get_installation_path().as_str()), [INFO] [stdout] 69 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `InstallationPath` should have a snake case name [INFO] [stdout] --> src/config.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub InstallationPath: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `installation_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `CurrentVersion` should have a snake case name [INFO] [stdout] --> src/config.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub CurrentVersion: Option [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_version` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exePath` should have a snake case name [INFO] [stdout] --> src/config.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let exePath = std::env::current_exe().unwrap(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `exe_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saveDirectory` should have a snake case name [INFO] [stdout] --> src/config.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let saveDirectory = exePath.parent().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `save_directory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saveFile` should have a snake case name [INFO] [stdout] --> src/config.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `save_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configPath` should have a snake case name [INFO] [stdout] --> src/config.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | let configPath = get_config_path(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configString` should have a snake case name [INFO] [stdout] --> src/config.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let configString = fs::read_to_string(&configPath).expect("Oops"); [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `config_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newConfigData` should have a snake case name [INFO] [stdout] --> src/config.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let newConfigData = serde_json::to_string(&configFile).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_config_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `configFile` should have a snake case name [INFO] [stdout] --> src/config.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | let mut configFile = get_config_from_json(); [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/binaries.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | { fs::create_dir(format!("{}/Game", config::get_installation_path()).as_str()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/binaries.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | { fs::create_dir(format!("{}/Game/Binaries", config::get_installation_path()).as_str()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 22.32s [INFO] running `Command { std: "docker" "inspect" "691d81f4bf720b98e59fb47321cf5ccc619e9f926b96a4a18cfa9d0f35c6b104", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "691d81f4bf720b98e59fb47321cf5ccc619e9f926b96a4a18cfa9d0f35c6b104", kill_on_drop: false }` [INFO] [stdout] 691d81f4bf720b98e59fb47321cf5ccc619e9f926b96a4a18cfa9d0f35c6b104 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-36/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" "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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 11e3de4cc41c30584c426b4e779d25889e736c9aabc38e53c7b99b75c8396bd9 [INFO] running `Command { std: "docker" "start" "-a" "11e3de4cc41c30584c426b4e779d25889e736c9aabc38e53c7b99b75c8396bd9", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `std::path` [INFO] [stderr] --> src/install.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/install.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `zip_extensions::read::*` [INFO] [stderr] --> src/install.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use zip_extensions::read::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::*` [INFO] [stderr] --> src/config.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use serde_json::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `dirs::*` [INFO] [stderr] --> src/binaries.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use dirs::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/install.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 47 | / match GetGeometryDash() [INFO] [stderr] 48 | | { [INFO] [stderr] 49 | | Ok(result_path) => [INFO] [stderr] 50 | | { [INFO] [stderr] ... | [INFO] [stderr] 57 | | }, [INFO] [stderr] 58 | | } [INFO] [stderr] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] ... [INFO] [stderr] 61 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `initCommand` is never read [INFO] [stderr] --> src/main.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | let mut initCommand = String::new(); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/main.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | let output = Command::new(initCommand).args(rest).spawn().expect("Oops"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `depth` [INFO] [stderr] --> src/resources.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | let mut depth = 0; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/install.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let mut configFile = get_config_from_json(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/config.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut configFile = get_config_from_json(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let mut depth = 0; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources.rs:52:29 [INFO] [stderr] | [INFO] [stderr] 52 | let mut p_tex = PlistTexture { name : "".to_string(), texture_rect: Vec::new() }; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources.rs:112:9 [INFO] [stderr] | [INFO] [stderr] 112 | let mut r_image = raster::open(format!("{}/Resources/GJ_GameSheet.png", config::get_installation_path()).as_str()).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | let mut value_split : Vec<&str> = you.split(',').collect(); [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:146:25 [INFO] [stderr] | [INFO] [stderr] 146 | let mut client = reqwest::Client::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:167:17 [INFO] [stderr] | [INFO] [stderr] 167 | let mut client = reqwest::Client::new(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `indent` [INFO] [stderr] --> src/resources.rs:14:4 [INFO] [stderr] | [INFO] [stderr] 14 | fn indent(size: usize) -> String { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `initCommand` should have a snake case name [INFO] [stderr] --> src/main.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | let mut initCommand = String::new(); [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `init_command` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | download_file(&client, url, &path).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | download_file(&client, url, &path).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: function `GetGeometryDash` should have a snake case name [INFO] [stderr] --> src/install.rs:10:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn GetGeometryDash() -> Result [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_geometry_dash` [INFO] [stderr] [INFO] [stderr] warning: variable `geometryDash` should have a snake case name [INFO] [stderr] --> src/install.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | let mut geometryDash; [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash` [INFO] [stderr] [INFO] [stderr] warning: variable `gdProcess` should have a snake case name [INFO] [stderr] --> src/install.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let gdProcess = match geometryDash.next() { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `gd_process` [INFO] [stderr] [INFO] [stderr] warning: variable `gamePath` should have a snake case name [INFO] [stderr] --> src/install.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let mut gamePath = PathBuf::from(gdProcess.exe()).parent().unwrap().to_path_buf(); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `game_path` [INFO] [stderr] [INFO] [stderr] warning: function `GeometryDashExists` should have a snake case name [INFO] [stderr] --> src/install.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn GeometryDashExists() -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `geometry_dash_exists` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/install.rs:66:2 [INFO] [stderr] | [INFO] [stderr] 66 | / zip_extensions::read::zip_extract( [INFO] [stderr] 67 | | &PathBuf::from(format!("{}/TRFP.zip", config::get_installation_path()).as_str()), [INFO] [stderr] 68 | | &PathBuf::from(config::get_installation_path().as_str()), [INFO] [stderr] 69 | | ); [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `InstallationPath` should have a snake case name [INFO] [stderr] --> src/config.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub InstallationPath: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `installation_path` [INFO] [stderr] [INFO] [stderr] warning: structure field `CurrentVersion` should have a snake case name [INFO] [stderr] --> src/config.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | pub CurrentVersion: Option [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `current_version` [INFO] [stderr] [INFO] [stderr] warning: variable `exePath` should have a snake case name [INFO] [stderr] --> src/config.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | let exePath = std::env::current_exe().unwrap(); [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `exe_path` [INFO] [stderr] [INFO] [stderr] warning: variable `saveDirectory` should have a snake case name [INFO] [stderr] --> src/config.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let saveDirectory = exePath.parent().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `save_directory` [INFO] [stderr] [INFO] [stderr] warning: variable `saveFile` should have a snake case name [INFO] [stderr] --> src/config.rs:32:17 [INFO] [stderr] | [INFO] [stderr] 32 | let mut saveFile = saveDirectory.join("rfproject_config.json"); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `save_file` [INFO] [stderr] [INFO] [stderr] warning: variable `configPath` should have a snake case name [INFO] [stderr] --> src/config.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | let configPath = get_config_path(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_path` [INFO] [stderr] [INFO] [stderr] warning: variable `configString` should have a snake case name [INFO] [stderr] --> src/config.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let configString = fs::read_to_string(&configPath).expect("Oops"); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `config_string` [INFO] [stderr] [INFO] [stderr] warning: variable `configFile` should have a snake case name [INFO] [stderr] --> src/config.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let mut configFile : Configuration = serde_json::from_str(configString.as_str()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stderr] [INFO] [stderr] warning: variable `configFile` should have a snake case name [INFO] [stderr] --> src/config.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | let mut configFile = get_config_from_json(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stderr] [INFO] [stderr] warning: variable `newConfigData` should have a snake case name [INFO] [stderr] --> src/config.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let newConfigData = serde_json::to_string(&configFile).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_config_data` [INFO] [stderr] [INFO] [stderr] warning: variable `configFile` should have a snake case name [INFO] [stderr] --> src/config.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | let mut configFile = get_config_from_json(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stderr] [INFO] [stderr] warning: variable `configFile` should have a snake case name [INFO] [stderr] --> src/config.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | let mut configFile = get_config_from_json(); [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `config_file` [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/binaries.rs:10:4 [INFO] [stderr] | [INFO] [stderr] 10 | { fs::create_dir(format!("{}/Game", config::get_installation_path()).as_str()); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/binaries.rs:13:4 [INFO] [stderr] | [INFO] [stderr] 13 | { fs::create_dir(format!("{}/Game/Binaries", config::get_installation_path()).as_str()); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `rfproject` (bin "rfproject" test) generated 44 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.49s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rfproject-bdae096b7b308073) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "11e3de4cc41c30584c426b4e779d25889e736c9aabc38e53c7b99b75c8396bd9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11e3de4cc41c30584c426b4e779d25889e736c9aabc38e53c7b99b75c8396bd9", kill_on_drop: false }` [INFO] [stdout] 11e3de4cc41c30584c426b4e779d25889e736c9aabc38e53c7b99b75c8396bd9