[INFO] cloning repository https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryyanmapes%2FMinecraft-Recipe-Randomizer"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryyanmapes%2FMinecraft-Recipe-Randomizer'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] ed090bb135f3aa550e74b84a4c56f28e0d6188e1 [INFO] checking ryyanmapes/Minecraft-Recipe-Randomizer against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryyanmapes%2FMinecraft-Recipe-Randomizer" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer [INFO] finished tweaking git repo https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer [INFO] tweaked toml for git repo https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/ryyanmapes/Minecraft-Recipe-Randomizer already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b5d84371d7e8350aeeb258cdbafa283eb8f0408d782d11650b8bf8638f9fe811 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "b5d84371d7e8350aeeb258cdbafa283eb8f0408d782d11650b8bf8638f9fe811"` [INFO] [stderr] Compiling libc v0.2.55 [INFO] [stderr] Compiling serde v1.0.91 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking serde_json v1.0.39 [INFO] [stderr] Checking minecraft_randomizer v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/main.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | use serde_json::{Result, Value}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/main.rs:7:18 [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:77:6 [INFO] [stderr] | [INFO] [stderr] 77 | if ((iterations >= 5 && rng.gen_range(0,2) == 1) || craftable_recipes.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] 7 | use serde_json::{Result, Value}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:77:6 [INFO] [stderr] | [INFO] [stderr] 77 | if ((iterations >= 5 && rng.gen_range(0,2) == 1) || craftable_recipes.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:128:6 [INFO] [stderr] | [INFO] [stderr] 128 | if (remaining_products.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/main.rs:128:6 [INFO] [stderr] | [INFO] [stderr] 128 | if (remaining_products.len() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: value assigned to `random_num_3` is never read [INFO] [stderr] --> src/main.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 78 | let mut random_num_3: usize = 0; [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: `s` [INFO] [stderr] --> src/main.rs:166:20 [INFO] [stderr] | [INFO] [stderr] 166 | Value::String(s) => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `random_num_3` is never read [INFO] [stderr] --> src/main.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 78 | let mut random_num_3: usize = 0; [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: `s` [INFO] [stderr] --> src/main.rs:166:20 [INFO] [stderr] | [INFO] [stderr] 166 | Value::String(s) => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:55:6 [INFO] [stderr] | [INFO] [stderr] 55 | let mut all_recipes = get_all_products(&all_recipe_files); [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/main.rs:57:6 [INFO] [stderr] | [INFO] [stderr] 57 | let mut all_products = get_products_from_recipes(&all_recipes); [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:145:7 [INFO] [stderr] | [INFO] [stderr] 145 | let mut reader = BufReader::new(&f); [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:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | let mut result = obj.get_mut("result") [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:161:11 [INFO] [stderr] | [INFO] [stderr] 161 | let mut item = result_obj.get_mut("item") [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:215:6 [INFO] [stderr] | [INFO] [stderr] 215 | let mut filename = file.file_name().unwrap().to_str().unwrap().to_string(); [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:392:7 [INFO] [stderr] | [INFO] [stderr] 392 | let mut reader = BufReader::new(f); [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:55:6 [INFO] [stderr] | [INFO] [stderr] 55 | let mut all_recipes = get_all_products(&all_recipe_files); [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/main.rs:57:6 [INFO] [stderr] | [INFO] [stderr] 57 | let mut all_products = get_products_from_recipes(&all_recipes); [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:145:7 [INFO] [stderr] | [INFO] [stderr] 145 | let mut reader = BufReader::new(&f); [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:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | let mut result = obj.get_mut("result") [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:161:11 [INFO] [stderr] | [INFO] [stderr] 161 | let mut item = result_obj.get_mut("item") [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:215:6 [INFO] [stderr] | [INFO] [stderr] 215 | let mut filename = file.file_name().unwrap().to_str().unwrap().to_string(); [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:601:7 [INFO] [stderr] | [INFO] [stderr] 601 | let mut reader = BufReader::new(f); [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:661:6 [INFO] [stderr] | [INFO] [stderr] 661 | let mut reader = BufReader::new(f); [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:392:7 [INFO] [stderr] | [INFO] [stderr] 392 | let mut reader = BufReader::new(f); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_dead_end_products` [INFO] [stderr] --> src/main.rs:237:1 [INFO] [stderr] | [INFO] [stderr] 237 | fn get_dead_end_products(recipes: &Vec, products: &Vec, tags: &HashMap) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:179:3 [INFO] [stderr] | [INFO] [stderr] 179 | f.set_len(0); [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 `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:182:3 [INFO] [stderr] | [INFO] [stderr] 182 | writer.seek(SeekFrom::Start(0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | writer.write(new_json.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:601:7 [INFO] [stderr] | [INFO] [stderr] 601 | let mut reader = BufReader::new(f); [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:661:6 [INFO] [stderr] | [INFO] [stderr] 661 | let mut reader = BufReader::new(f); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_dead_end_products` [INFO] [stderr] --> src/main.rs:237:1 [INFO] [stderr] | [INFO] [stderr] 237 | fn get_dead_end_products(recipes: &Vec, products: &Vec, tags: &HashMap) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:179:3 [INFO] [stderr] | [INFO] [stderr] 179 | f.set_len(0); [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 `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:182:3 [INFO] [stderr] | [INFO] [stderr] 182 | writer.seek(SeekFrom::Start(0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | writer.write(new_json.as_bytes()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 15.80s [INFO] running `"docker" "inspect" "b5d84371d7e8350aeeb258cdbafa283eb8f0408d782d11650b8bf8638f9fe811"` [INFO] running `"docker" "rm" "-f" "b5d84371d7e8350aeeb258cdbafa283eb8f0408d782d11650b8bf8638f9fe811"` [INFO] [stdout] b5d84371d7e8350aeeb258cdbafa283eb8f0408d782d11650b8bf8638f9fe811